TSTP Solution File: SWW478+7 by Leo-III---1.7.7

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Leo-III---1.7.7
% Problem  : SWW478+7 : TPTP v8.1.2. Released v5.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_Leo-III %s %d

% Computer : n011.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Fri May 19 12:24:38 EDT 2023

% Result   : Theorem 132.03s 99.64s
% Output   : Refutation 139.93s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    3
%            Number of leaves      : 1347
% Syntax   : Number of formulae    : 2533 (1090 unt; 163 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  :  131 ( 131   >;   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_type,type,
    hBOOL: $i > $o ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(2612,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) ) @ ( d @ A ) )
      = ( d @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[408]) ).

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

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

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

thf(3399,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( sees_field @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ty ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ty ) ) ) @ ( field @ A ) @ B ) @ C ) @ D )
        = ( hAPP @ ty @ ( product_prod @ ( list @ char ) @ ty ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( product_Pair @ ( list @ char ) @ ty ) @ F ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[624]) ).

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

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

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

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

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] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ I ) @ J ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ K ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ L ) @ M ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ N ) ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ L @ K )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ G ) @ H ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ G ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ N ) ) ) )
         => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ L ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ M ) @ B ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ ( hAPP @ nat @ val @ addr @ K ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ E ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ N ) ) ) )
           => ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ C ) )
             => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ I ) @ F ) @ B ) @ A ) ) @ J ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ E ) @ B ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ M @ B ) ) ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ N ) ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_416_TryCatchRedsFinal) ).

thf(3434,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] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ I ) @ J ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ K ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ L ) @ M ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ N ) ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ L @ K )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ G ) @ H ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ G ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ N ) ) ) )
         => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ L ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ M ) @ B ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ ( hAPP @ nat @ val @ addr @ K ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ E ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ N ) ) ) )
           => ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ C ) )
             => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ I ) @ F ) @ B ) @ A ) ) @ J ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ E ) @ B ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ M @ B ) ) ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ N ) ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[633]) ).

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

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

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

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

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

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

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

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

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

thf(4904,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( option @ nat ) @ new_Addr @ F )
        = ( hAPP @ nat @ ( option @ nat ) @ ( some @ nat ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ C ) @ D ) @ E ) )
       => ( ( B
            = ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ F ) @ G ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ init_fields @ E ) ) ) ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( new @ ( list @ char ) ) @ D ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ A ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ G ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ A ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ C ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1058]) ).

thf(311,axiom,
    ! [A: $i,B: $i] :
      ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ bool ) @ assigned @ A ) @ B ) )
    <=> ? [C: $i,D: $i] :
          ( B
          = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ C ) ) ) @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_169_assigned__def) ).

thf(2250,plain,
    ! [A: $i,B: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ bool ) @ assigned @ A ) @ B ) )
       => ? [C: $i,D: $i] :
            ( B
            = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ C ) ) ) @ D ) ) )
      & ( ? [C: $i,D: $i] :
            ( B
            = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ C ) ) ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ bool ) @ assigned @ A ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[311]) ).

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

thf(2822,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ C ) ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ C ) ) @ E ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ C ) ) @ D ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[467]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(526,axiom,
    ! [A: $i,B: $i] :
      ( ~ ( hBOOL @ ( hAPP @ bool @ bool @ ( hAPP @ bool @ ( fun @ bool @ bool ) @ fconj @ A ) @ B ) )
      | ( hBOOL @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fconj_2_1_U) ).

thf(3008,plain,
    ! [A: $i,B: $i] :
      ( ~ ( hBOOL @ ( hAPP @ bool @ bool @ ( hAPP @ bool @ ( fun @ bool @ bool ) @ fconj @ A ) @ B ) )
      | ( hBOOL @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[526]) ).

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

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

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

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

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

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

thf(453,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ C ) @ object )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ D ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ E ) @ F ) ) ) )
     => ( ( B
          = ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ty ) @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( map @ ( product_prod @ ( list @ char ) @ ty ) @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ty ) @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( product_prod_case @ ( list @ char ) @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) ) @ ( combb @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( list @ char ) ) @ ( product_Pair @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) ) @ ( combc @ ( list @ char ) @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) ) @ object ) ) ) ) @ E ) )
       => ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ A ) @ C ) @ object ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_779_has__fields__Object) ).

thf(2778,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ C ) @ object )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ D ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ E ) @ F ) ) ) )
     => ( ( B
          = ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ty ) @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( map @ ( product_prod @ ( list @ char ) @ ty ) @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ty ) @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( product_prod_case @ ( list @ char ) @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) ) @ ( combb @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( list @ char ) ) @ ( product_Pair @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) ) @ ( combc @ ( list @ char ) @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) ) @ object ) ) ) ) @ E ) )
       => ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ A ) @ C ) @ object ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[453]) ).

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

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

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

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

thf(374,axiom,
    ( ( ti @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) ) @ typeof_h )
    = typeof_h ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Objects_Otypeof__h_res) ).

thf(2463,plain,
    ( ( ti @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) ) @ typeof_h )
    = typeof_h ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[374]) ).

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

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

thf(194,axiom,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod @ A @ B ) ) @ ( the_1 @ ( product_prod @ A @ B ) ) )
      = ( the_1 @ ( product_prod @ A @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_HOL_OThe_res) ).

thf(1840,plain,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod @ A @ B ) ) @ ( the_1 @ ( product_prod @ A @ B ) ) )
      = ( the_1 @ ( product_prod @ A @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[194]) ).

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

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

thf(1041,axiom,
    ! [A: $i,B: $i] :
      ( ( hBOOL @ ( hAPP @ ( exp @ A ) @ bool @ ( final @ A ) @ B ) )
     => ( ! [C: $i] :
            ( B
           != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ C ) )
       => ~ ! [C: $i] :
              ( B
             != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ ( hAPP @ nat @ val @ addr @ C ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_411_finalE) ).

thf(4852,plain,
    ! [A: $i,B: $i] :
      ( ( hBOOL @ ( hAPP @ ( exp @ A ) @ bool @ ( final @ A ) @ B ) )
     => ( ! [C: $i] :
            ( B
           != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ C ) )
       => ~ ! [C: $i] :
              ( B
             != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ ( hAPP @ nat @ val @ addr @ C ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1041]) ).

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

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

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

thf(3830,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( option @ val ) @ binop @ ( hAPP @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( hAPP @ bop @ ( fun @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) ) @ ( product_Pair @ bop @ ( product_prod @ val @ val ) ) @ add ) @ ( hAPP @ val @ ( product_prod @ val @ val ) @ ( hAPP @ val @ ( fun @ val @ ( product_prod @ val @ val ) ) @ ( product_Pair @ val @ val ) @ ( hAPP @ bool @ val @ bool_1 @ A ) ) @ B ) ) )
      = ( none @ val ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[749]) ).

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

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

thf(105,axiom,
    ord @ nat,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_Nat_Onat___Orderings_Oord) ).

thf(1549,plain,
    ord @ nat,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[105]) ).

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

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

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

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

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

thf(1924,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fequal @ A ) )
      = ( fequal @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[218]) ).

thf(602,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( while @ A ) )
      = ( while @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OWhile_res) ).

thf(3317,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( while @ A ) )
      = ( while @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[602]) ).

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

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

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

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

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

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

thf(953,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ D ) @ E )
        = ( hAPP @ ( list @ C ) @ ( list @ B ) @ ( hAPP @ ( fun @ C @ B ) @ ( fun @ ( list @ C ) @ ( list @ B ) ) @ ( map @ C @ B ) @ F ) @ G ) )
     => ( ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ E )
        = ( hAPP @ ( list @ C ) @ nat @ ( size_size @ ( list @ C ) ) @ G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_931_map__eq__imp__length__eq) ).

thf(4532,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ D ) @ E )
        = ( hAPP @ ( list @ C ) @ ( list @ B ) @ ( hAPP @ ( fun @ C @ B ) @ ( fun @ ( list @ C ) @ ( list @ B ) ) @ ( map @ C @ B ) @ F ) @ G ) )
     => ( ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ E )
        = ( hAPP @ ( list @ C ) @ nat @ ( size_size @ ( list @ C ) ) @ G ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[953]) ).

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

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

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

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

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

thf(4931,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ C ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ C ) @ E ) @ B ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ C ) @ D ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1066]) ).

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

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

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

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

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

thf(5225,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ I )
        = ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ J ) )
     => ( ( ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ I )
          = ( hAPP @ ( list @ val ) @ nat @ ( size_size @ ( list @ val ) ) @ H ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ I ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ J ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ H ) @ B ) ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ G ) ) )
         => ? [K: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( map_upds @ ( list @ char ) @ val ) @ D ) @ I ) @ H ) ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ K ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1154]) ).

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

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

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

thf(3762,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
          = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ E ) @ F ) @ G ) )
       => ( ( B = E )
          & ( C = F )
          & ( D = G ) ) )
      & ( ( ( B = E )
          & ( C = F )
          & ( D = G ) )
       => ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
          = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ E ) @ F ) @ G ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[728]) ).

thf(415,axiom,
    ! [A: $i,B: $i] :
      ( ( ( hAPP @ nat @ val @ addr @ A )
        = ( hAPP @ nat @ val @ addr @ B ) )
    <=> ( A = B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_415_val_Osimps_I3_J) ).

thf(2644,plain,
    ! [A: $i,B: $i] :
      ( ( ( ( hAPP @ nat @ val @ addr @ A )
          = ( hAPP @ nat @ val @ addr @ B ) )
       => ( A = B ) )
      & ( ( A = B )
       => ( ( hAPP @ nat @ val @ addr @ A )
          = ( hAPP @ nat @ val @ addr @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[415]) ).

thf(948,axiom,
    ! [A: $i,B: $i] :
      ( ( ( ti @ ( option @ A ) @ B )
       != ( none @ A ) )
     => ~ ! [C: $i] :
            ( ( ti @ ( option @ A ) @ B )
           != ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_201_option_Oexhaust) ).

thf(4515,plain,
    ! [A: $i,B: $i] :
      ( ( ( ti @ ( option @ A ) @ B )
       != ( none @ A ) )
     => ~ ! [C: $i] :
            ( ( ti @ ( option @ A ) @ B )
           != ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[948]) ).

thf(743,axiom,
    order @ nat,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_Nat_Onat___Orderings_Oorder) ).

thf(3813,plain,
    order @ nat,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[743]) ).

thf(353,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( block @ A ) )
      = ( block @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OBlock_res) ).

thf(2381,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( block @ A ) )
      = ( block @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[353]) ).

thf(1176,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ E ) )
       => ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ D ) )
         => ( ( D
             != ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) )
           => ( ( ? [F: $i] :
                    ( D
                    = ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) )
               => ! [F: $i] :
                    ( E
                   != ( hAPP @ ( list @ char ) @ ty @ class @ F ) ) )
             => ~ ! [F: $i] :
                    ( D
                   != ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_582_finalRefE) ).

thf(5292,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ E ) )
       => ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ D ) )
         => ( ( D
             != ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) )
           => ( ( ? [F: $i] :
                    ( D
                    = ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) )
               => ! [F: $i] :
                    ( E
                   != ( hAPP @ ( list @ char ) @ ty @ class @ F ) ) )
             => ~ ! [F: $i] :
                    ( D
                   != ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1176]) ).

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

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

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

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

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

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

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

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

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

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

thf(630,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ty ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ty ) ) ) @ ( field @ A ) @ B ) @ C ) @ D )
      = ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ty ) @ bool ) @ ( product_prod @ ( list @ char ) @ ty ) @ ( the_1 @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ty @ bool ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ty ) @ bool ) @ ( product_prod_case @ ( list @ char ) @ ty @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ bool ) ) @ ( combc @ ty @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( sees_field @ A ) @ B ) @ C ) @ D ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_885_field__def) ).

thf(3417,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ty ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ty ) ) ) @ ( field @ A ) @ B ) @ C ) @ D )
      = ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ty ) @ bool ) @ ( product_prod @ ( list @ char ) @ ty ) @ ( the_1 @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ty @ bool ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ty ) @ bool ) @ ( product_prod_case @ ( list @ char ) @ ty @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ bool ) ) @ ( combc @ ty @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( sees_field @ A ) @ B ) @ C ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[630]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(420,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ty @ A @ ( hAPP @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) @ ( hAPP @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) ) ) @ ( ty_case @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) @ void )
      = ( ti @ A @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_766_ty_Osimps_I22_J) ).

thf(2671,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ty @ A @ ( hAPP @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) @ ( hAPP @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) ) ) @ ( ty_case @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) @ void )
      = ( ti @ A @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[420]) ).

thf(422,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ B ) ) @ C ) )
    <=> ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ B ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_379__092_060D_062___092_060D_062s_Osimps_I14_J) ).

thf(2676,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ B ) ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ B ) @ C ) ) )
      & ( ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ B ) ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[422]) ).

thf(269,axiom,
    ! [A: $i] :
      ( void
     != ( hAPP @ ( list @ char ) @ ty @ class @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_605_ty_Osimps_I8_J) ).

thf(2114,plain,
    ! [A: $i] :
      ( void
     != ( hAPP @ ( list @ char ) @ ty @ class @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[269]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(155,axiom,
    ( ( ti @ ty @ t_1 )
    = t_1 ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_T_____res) ).

thf(1692,plain,
    ( ( ti @ ty @ t_1 )
    = t_1 ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[155]) ).

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

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

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

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

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

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

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

thf(1655,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) ) ) @ ( methods @ A ) )
      = ( methods @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[144]) ).

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

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

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

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

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

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

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

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

thf(611,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ null ) @ D ) )
    <=> ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ nt ) @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_716_conf__Null) ).

thf(3365,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ null ) @ D ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ nt ) @ D ) ) )
      & ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ nt ) @ D ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ null ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[611]) ).

thf(830,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ D ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ B ) @ E ) )
       => ( ( D != C )
          & ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ D ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_trancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_945_subcls1__wfD) ).

thf(4110,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ D ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ B ) @ E ) )
       => ( ( D != C )
          & ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ D ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_trancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[830]) ).

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

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

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

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

thf(35,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ F ) @ G ) ),
    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] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[35]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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] : ( hBOOL @ ( hAPP @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ bool @ G @ ( hAPP @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ ( hAPP @ A @ ( fun @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ H ) @ ( hAPP @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ ( hAPP @ B @ ( fun @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ I ) @ ( hAPP @ ( product_prod @ D @ E ) @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ ( hAPP @ C @ ( fun @ ( product_prod @ D @ E ) @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ ( product_Pair @ C @ ( product_prod @ D @ E ) ) @ J ) @ ( hAPP @ E @ ( product_prod @ D @ E ) @ ( hAPP @ D @ ( fun @ E @ ( product_prod @ D @ E ) ) @ ( product_Pair @ D @ E ) @ K ) @ L ) ) ) ) ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ bool @ G @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_10_prod__induct5) ).

thf(5120,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] : ( hBOOL @ ( hAPP @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ bool @ G @ ( hAPP @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ ( hAPP @ A @ ( fun @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ H ) @ ( hAPP @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ ( hAPP @ B @ ( fun @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ I ) @ ( hAPP @ ( product_prod @ D @ E ) @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ ( hAPP @ C @ ( fun @ ( product_prod @ D @ E ) @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ ( product_Pair @ C @ ( product_prod @ D @ E ) ) @ J ) @ ( hAPP @ E @ ( product_prod @ D @ E ) @ ( hAPP @ D @ ( fun @ E @ ( product_prod @ D @ E ) ) @ ( product_Pair @ D @ E ) @ K ) @ L ) ) ) ) ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ bool @ G @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1127]) ).

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

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

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

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

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

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

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

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

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] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ J ) @ K ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ F ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ G ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ H ) @ I ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) @ ( set @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ K ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ B ) @ ( hAPP @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ C ) @ ( hAPP @ A @ ( product_prod @ ty @ A ) @ ( hAPP @ ty @ ( fun @ A @ ( product_prod @ ty @ A ) ) @ ( product_Pair @ ty @ A ) @ D ) @ E ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) @ ( set @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ I ) ) )
         => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ K ) @ F ) @ B ) @ C ) @ D ) @ E ) @ F ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_902_mdecl__visible) ).

thf(4856,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ J ) @ K ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ F ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ G ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ H ) @ I ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) @ ( set @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ K ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ B ) @ ( hAPP @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ C ) @ ( hAPP @ A @ ( product_prod @ ty @ A ) @ ( hAPP @ ty @ ( fun @ A @ ( product_prod @ ty @ A ) ) @ ( product_Pair @ ty @ A ) @ D ) @ E ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) @ ( set @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ I ) ) )
         => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ K ) @ F ) @ B ) @ C ) @ D ) @ E ) @ F ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1042]) ).

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

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

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

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

thf(547,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ D ) @ E )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ F ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ G ) @ H ) ) ) )
     => ( ( E != object )
       => ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ A ) @ D ) @ F ) @ C ) )
         => ( ( B
              = ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( append @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ty ) @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( map @ ( product_prod @ ( list @ char ) @ ty ) @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ty ) @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( product_prod_case @ ( list @ char ) @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) ) @ ( combb @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( list @ char ) ) @ ( product_Pair @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) ) @ ( combc @ ( list @ char ) @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) ) @ E ) ) ) ) @ G ) ) @ C ) )
           => ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ A ) @ D ) @ E ) @ B ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_785_has__fields__rec) ).

thf(3121,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ D ) @ E )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ F ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ G ) @ H ) ) ) )
     => ( ( E != object )
       => ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ A ) @ D ) @ F ) @ C ) )
         => ( ( B
              = ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( append @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ty ) @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( map @ ( product_prod @ ( list @ char ) @ ty ) @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ty ) @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( product_prod_case @ ( list @ char ) @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) ) @ ( combb @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( list @ char ) ) @ ( product_Pair @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) ) @ ( combc @ ( list @ char ) @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) ) @ E ) ) ) ) @ G ) ) @ C ) )
           => ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ A ) @ D ) @ E ) @ B ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[547]) ).

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

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

thf(927,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ E ) @ F )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ G ) @ H ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( transitive_rtranclp @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( subcls1p @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ C ) ) @ G ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) ) @ D ) @ A ) @ B ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ A ) @ ( hAPP @ ( list @ char ) @ ty @ class @ D ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) ) @ B ) ) ) @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_587_redp__redsp_ORedTryCatch) ).

thf(4435,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ E ) @ F )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ G ) @ H ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( transitive_rtranclp @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( subcls1p @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ C ) ) @ G ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) ) @ D ) @ A ) @ B ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ A ) @ ( hAPP @ ( list @ char ) @ ty @ class @ D ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) ) @ B ) ) ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[927]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(2957,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ E ) @ F ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ E ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ E ) @ ( hAPP @ ( list @ B ) @ ( list @ B ) @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ B ) @ ( list @ B ) ) @ ( append @ B ) @ F ) @ C ) ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ G ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[510]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(3350,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( option @ A ) @ B @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( option @ A ) @ B ) @ ( hAPP @ B @ ( fun @ ( fun @ A @ B ) @ ( fun @ ( option @ A ) @ B ) ) @ ( option_case @ B @ A ) @ C ) @ D ) @ ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ E ) )
      = ( hAPP @ A @ B @ D @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[609]) ).

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

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

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

thf(2723,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ D ) @ E ) @ F ) @ G ) ) @ H ) )
     => ~ ! [I: $i] :
            ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ I ) )
           => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ ( hAPP @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ ty ) ) @ C ) @ F ) @ ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ ( hAPP @ ( list @ char ) @ ty @ class @ E ) ) ) ) @ G ) @ H ) )
             => ~ ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) @ I ) @ H ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[437]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(141,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ ( transitive_trancl @ A ) )
      = ( transitive_trancl @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Transitive__Closure_Otrancl_res) ).

thf(1645,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ ( transitive_trancl @ A ) )
      = ( transitive_trancl @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[141]) ).

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

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

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

thf(5056,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( combk @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ nat ) @ ( none @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ D )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ E ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ D ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1107]) ).

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

thf(1601,plain,
    ! [A: $i,B: $i] :
      ( ( lattice @ B )
     => ( lattice @ ( fun @ A @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[125]) ).

thf(1178,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ C ) ) )
    <=> ? [D: $i,E: $i] :
          ( ( C
            = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ B ) @ E ) ) )
          & ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ D ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_897_in__set__conv__decomp__first) ).

thf(5301,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ C ) ) )
       => ? [D: $i,E: $i] :
            ( ( C
              = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ B ) @ E ) ) )
            & ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ D ) ) ) ) )
      & ( ? [D: $i,E: $i] :
            ( ( C
              = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ B ) @ E ) ) )
            & ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ D ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ C ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1178]) ).

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

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

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

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

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

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

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

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

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

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

thf(96,axiom,
    ! [A: $i,B: $i] : ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( start_heap @ A ) @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_568_preallocated__start) ).

thf(1518,plain,
    ! [A: $i,B: $i] : ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( start_heap @ A ) @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[96]) ).

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

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

thf(928,axiom,
    ( ( ti @ ( fun @ nat @ val ) @ addr )
    = addr ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Value_Oval_OAddr_res) ).

thf(4439,plain,
    ( ( ti @ ( fun @ nat @ val ) @ addr )
    = addr ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[928]) ).

thf(1055,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ A ) @ E ) @ F ) @ G ) @ H ) @ I ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ E ) @ C ) @ D ) @ H ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ E ) @ C ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ F ) @ B ) ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ E ) @ C ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ F ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ B ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ G ) @ I ) ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ D ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_172_oconf__fupd) ).

thf(4896,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ A ) @ E ) @ F ) @ G ) @ H ) @ I ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ E ) @ C ) @ D ) @ H ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ E ) @ C ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ F ) @ B ) ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ E ) @ C ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ F ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ B ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ G ) @ I ) ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ D ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1055]) ).

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

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

thf(709,axiom,
    lattice @ nat,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_Nat_Onat___Lattices_Olattice) ).

thf(3689,plain,
    lattice @ nat,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[709]) ).

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

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

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

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

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

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

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

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

thf(1135,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( option @ val ) @ binop @ ( hAPP @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( hAPP @ bop @ ( fun @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) ) @ ( product_Pair @ bop @ ( product_prod @ val @ val ) ) @ c_Expr_Obop_OEq ) @ ( hAPP @ val @ ( product_prod @ val @ val ) @ ( hAPP @ val @ ( fun @ val @ ( product_prod @ val @ val ) ) @ ( product_Pair @ val @ val ) @ A ) @ B ) ) )
      = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ ( hAPP @ bool @ val @ bool_1 @ ( hAPP @ val @ bool @ ( hAPP @ val @ ( fun @ val @ bool ) @ ( fequal @ val ) @ A ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_624_binop_Osimps_I1_J) ).

thf(5150,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( option @ val ) @ binop @ ( hAPP @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( hAPP @ bop @ ( fun @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) ) @ ( product_Pair @ bop @ ( product_prod @ val @ val ) ) @ c_Expr_Obop_OEq ) @ ( hAPP @ val @ ( product_prod @ val @ val ) @ ( hAPP @ val @ ( fun @ val @ ( product_prod @ val @ val ) ) @ ( product_Pair @ val @ val ) @ A ) @ B ) ) )
      = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ ( hAPP @ bool @ val @ bool_1 @ ( hAPP @ val @ bool @ ( hAPP @ val @ ( fun @ val @ bool ) @ ( fequal @ val ) @ A ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1135]) ).

thf(36,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ A @ ( option @ B ) @ C @ D )
        = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ E ) )
     => ( ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( fun_upd @ A @ ( option @ B ) ) @ C ) @ D ) @ ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ E ) )
        = ( ti @ ( fun @ A @ ( option @ B ) ) @ C ) ) ),
    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] :
      ( ( ( hAPP @ A @ ( option @ B ) @ C @ D )
        = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ E ) )
     => ( ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( fun_upd @ A @ ( option @ B ) ) @ C ) @ D ) @ ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ E ) )
        = ( ti @ ( fun @ A @ ( option @ B ) ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[36]) ).

thf(191,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ ( option @ B ) ) ) @ ( restrict_map @ A @ B ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( combk @ ( option @ B ) @ A ) @ ( none @ B ) ) ) @ C ) @ D )
      = ( none @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_299_restrict__map__empty) ).

thf(1832,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ ( option @ B ) ) ) @ ( restrict_map @ A @ B ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( combk @ ( option @ B ) @ A ) @ ( none @ B ) ) ) @ C ) @ D )
      = ( none @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[191]) ).

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

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

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

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

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

thf(1628,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( option @ val ) @ binop @ ( hAPP @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( hAPP @ bop @ ( fun @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) ) @ ( product_Pair @ bop @ ( product_prod @ val @ val ) ) @ add ) @ ( hAPP @ val @ ( product_prod @ val @ val ) @ ( hAPP @ val @ ( fun @ val @ ( product_prod @ val @ val ) ) @ ( product_Pair @ val @ val ) @ ( hAPP @ nat @ val @ addr @ A ) ) @ B ) ) )
      = ( none @ val ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[135]) ).

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

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

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

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

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

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

thf(950,axiom,
    ! [A: $i,B: $i] :
      ( ~ ( hBOOL @ B )
      | ~ ( hBOOL @ A )
      | ( hBOOL @ ( hAPP @ bool @ bool @ ( hAPP @ bool @ ( fun @ bool @ bool ) @ fconj @ B ) @ A ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fconj_1_1_U) ).

thf(4524,plain,
    ! [A: $i,B: $i] :
      ( ~ ( hBOOL @ B )
      | ~ ( hBOOL @ A )
      | ( hBOOL @ ( hAPP @ bool @ bool @ ( hAPP @ bool @ ( fun @ bool @ bool ) @ fconj @ B ) @ A ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[950]) ).

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

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

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

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

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

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

thf(41,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ C ) @ ( hAPP @ ( list @ B ) @ ( list @ B ) @ ( hAPP @ B @ ( fun @ ( list @ B ) @ ( list @ B ) ) @ ( cons @ B ) @ D ) @ E ) ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ F ) @ G ) ) )
    <=> ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ C @ D ) @ F ) )
        & ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ C ) @ E ) @ G ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_963_list__all2__Cons) ).

thf(1298,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ C ) @ ( hAPP @ ( list @ B ) @ ( list @ B ) @ ( hAPP @ B @ ( fun @ ( list @ B ) @ ( list @ B ) ) @ ( cons @ B ) @ D ) @ E ) ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ F ) @ G ) ) )
       => ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ C @ D ) @ F ) )
          & ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ C ) @ E ) @ G ) ) ) )
      & ( ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ C @ D ) @ F ) )
          & ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ C ) @ E ) @ G ) ) )
       => ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ C ) @ ( hAPP @ ( list @ B ) @ ( list @ B ) @ ( hAPP @ B @ ( fun @ ( list @ B ) @ ( list @ B ) ) @ ( cons @ B ) @ D ) @ E ) ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ F ) @ G ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[41]) ).

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

thf(4070,plain,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ ( fun @ B @ A ) @ ( fun @ ( option @ B ) @ A ) ) ) @ ( option_case @ A @ B ) )
      = ( option_case @ A @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[817]) ).

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

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

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

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

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

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

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

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

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

thf(5064,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ A ) @ ( fun @ A @ bool ) ) @ ( set @ A ) )
      = ( set @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1109]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(806,axiom,
    ( ( ti @ ( list @ char ) @ nullPointer )
    = nullPointer ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Exceptions_ONullPointer_res) ).

thf(4023,plain,
    ( ( ti @ ( list @ char ) @ nullPointer )
    = nullPointer ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[806]) ).

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

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

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

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

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

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

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

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

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

thf(4428,plain,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) ) ) @ ( list_all2 @ A @ B ) )
      = ( list_all2 @ A @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[924]) ).

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

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

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

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

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

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

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

thf(5199,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ ( semilattice_sup_sup @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ B ) @ ( fequal @ A ) ) )
      = ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1150]) ).

thf(1147,axiom,
    ( ( ti @ ( fun @ bool @ ( fun @ bool @ bool ) ) @ fconj )
    = fconj ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fconj_res) ).

thf(5193,plain,
    ( ( ti @ ( fun @ bool @ ( fun @ bool @ bool ) ) @ fconj )
    = fconj ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1147]) ).

thf(528,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ A @ A @ ( combi @ A ) @ B )
      = ( ti @ A @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_COMBI_1_1_U) ).

thf(3014,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ A @ A @ ( combi @ A ) @ B )
      = ( ti @ A @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[528]) ).

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

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

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

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

thf(1157,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( distinct @ A ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ B ) @ C ) ) )
    <=> ( ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ C ) ) )
        & ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( distinct @ A ) @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_987_distinct_Osimps_I2_J) ).

thf(5231,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( distinct @ A ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ B ) @ C ) ) )
       => ( ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ C ) ) )
          & ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( distinct @ A ) @ C ) ) ) )
      & ( ( ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ C ) ) )
          & ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( distinct @ A ) @ C ) ) )
       => ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( distinct @ A ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ B ) @ C ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1157]) ).

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

thf(1545,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fTrue ) ) ) @ B ) @ C ) ) @ D ) @ B ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[103]) ).

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

thf(4119,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ E ) @ F ) @ G ) @ H ) @ I ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ E ) @ F ) @ ( hAPP @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ ty ) ) @ G ) @ A ) @ ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ ( hAPP @ ( list @ char ) @ ty @ class @ B ) ) ) ) @ C ) @ D ) )
       => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ E ) @ I ) @ D ) )
         => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ E ) @ F ) @ G ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ H ) @ B ) @ A ) @ C ) ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[832]) ).

thf(657,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ nat @ val @ addr @ A )
     != ( hAPP @ bool @ val @ bool_1 @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_611_val_Osimps_I21_J) ).

thf(3517,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ nat @ val @ addr @ A )
     != ( hAPP @ bool @ val @ bool_1 @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[657]) ).

thf(614,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ F ) @ E ) )
       => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ F ) @ E ) @ B ) @ C ) @ D ) )
         => ( ( hBOOL @ ( hAPP @ ( option @ ( fun @ ( list @ char ) @ bool ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( option @ ( fun @ ( list @ char ) @ bool ) ) @ bool ) @ ( d @ ( list @ char ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( option @ ( fun @ ( list @ char ) @ bool ) ) @ ( some @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( dom @ ( list @ char ) @ val ) @ A ) ) ) )
           => ( ~ ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ C ) )
             => ? [G: $i,H: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ A ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ G ) @ H ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_200_progress) ).

thf(3374,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ F ) @ E ) )
       => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ F ) @ E ) @ B ) @ C ) @ D ) )
         => ( ( hBOOL @ ( hAPP @ ( option @ ( fun @ ( list @ char ) @ bool ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( option @ ( fun @ ( list @ char ) @ bool ) ) @ bool ) @ ( d @ ( list @ char ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( option @ ( fun @ ( list @ char ) @ bool ) ) @ ( some @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( dom @ ( list @ char ) @ val ) @ A ) ) ) )
           => ( ~ ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ C ) )
             => ? [G: $i,H: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ A ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ G ) @ H ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[614]) ).

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

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

thf(899,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ ( option @ A ) ) @ ( some @ A ) )
      = ( some @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Option_Ooption_OSome_res) ).

thf(4353,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ ( option @ A ) ) @ ( some @ A ) )
      = ( some @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[899]) ).

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] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ G ) @ H ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ I ) ) @ J ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ K ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ J ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( append @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ C ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ K ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ G ) @ A ) @ B ) ) @ H ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ K ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_843_CallRedsThrowParams) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ K ) @ L ) @ M ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ N ) ) ) @ O ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ K ) @ G ) @ O ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ H ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ I ) @ J ) ) )
       => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ I @ N )
            = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ E ) @ F ) ) )
         => ( ( B
              = ( hAPP @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ F ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ D ) ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ H ) ) )
           => ( ( A
                = ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ I ) @ N ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ E ) @ B ) ) ) )
             => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ K ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ L ) @ C ) @ D ) @ G ) ) @ M ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ A ) @ J ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_321_FAss) ).

thf(5052,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] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ K ) @ L ) @ M ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ N ) ) ) @ O ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ K ) @ G ) @ O ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ H ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ I ) @ J ) ) )
       => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ I @ N )
            = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ E ) @ F ) ) )
         => ( ( B
              = ( hAPP @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ F ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ D ) ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ H ) ) )
           => ( ( A
                = ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ I ) @ N ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ E ) @ B ) ) ) )
             => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ K ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ L ) @ C ) @ D ) @ G ) ) @ M ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ A ) @ J ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1106]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(912,axiom,
    ! [A: $i] :
      ( ( hAPP @ ( list @ char ) @ ty @ class @ A )
     != nt ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_708_ty_Osimps_I21_J) ).

thf(4390,plain,
    ! [A: $i] :
      ( ( hAPP @ ( list @ char ) @ ty @ class @ A )
     != nt ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[912]) ).

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

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

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

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

thf(916,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ C ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( member @ ( list @ char ) ) @ B ) @ sys_xcpts ) )
       => ( ! [D: $i] :
              ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ C @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ B ) )
                = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ B ) @ D ) ) )
             => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ A @ C ) @ B ) ) )
         => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ A @ C ) @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_620_preallocatedE) ).

thf(4400,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ C ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( member @ ( list @ char ) ) @ B ) @ sys_xcpts ) )
       => ( ! [D: $i] :
              ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ C @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ B ) )
                = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ B ) @ D ) ) )
             => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ A @ C ) @ B ) ) )
         => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ A @ C ) @ B ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[916]) ).

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

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

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

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

thf(356,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) @ G ) @ H ) )
    <=> ? [I: $i] :
          ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) ) @ ( methods @ A ) @ B ) @ C ) @ I ) )
          & ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ I @ D )
            = ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( some @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( hAPP @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ E ) @ ( hAPP @ A @ ( product_prod @ ty @ A ) @ ( hAPP @ ty @ ( fun @ A @ ( product_prod @ ty @ A ) ) @ ( product_Pair @ ty @ A ) @ F ) @ G ) ) ) @ H ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_914_Method__def) ).

thf(2388,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) @ G ) @ H ) )
       => ? [I: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) ) @ ( methods @ A ) @ B ) @ C ) @ I ) )
            & ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ I @ D )
              = ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( some @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( hAPP @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ E ) @ ( hAPP @ A @ ( product_prod @ ty @ A ) @ ( hAPP @ ty @ ( fun @ A @ ( product_prod @ ty @ A ) ) @ ( product_Pair @ ty @ A ) @ F ) @ G ) ) ) @ H ) ) ) ) )
      & ( ? [I: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) ) @ ( methods @ A ) @ B ) @ C ) @ I ) )
            & ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ I @ D )
              = ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( some @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( hAPP @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ E ) @ ( hAPP @ A @ ( product_prod @ ty @ A ) @ ( hAPP @ ty @ ( fun @ A @ ( product_prod @ ty @ A ) ) @ ( product_Pair @ ty @ A ) @ F ) @ G ) ) ) @ H ) ) ) )
       => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) @ G ) @ H ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[356]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(4258,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) ) @ ( hAPP @ ( list @ ty ) @ ( list @ ty ) @ ( hAPP @ ty @ ( fun @ ( list @ ty ) @ ( list @ ty ) ) @ ( cons @ ty ) @ C ) @ D ) ) @ E ) )
       => ? [F: $i,G: $i] :
            ( ( E
              = ( hAPP @ ( list @ ty ) @ ( list @ ty ) @ ( hAPP @ ty @ ( fun @ ( list @ ty ) @ ( list @ ty ) ) @ ( cons @ ty ) @ F ) @ G ) )
            & ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ C ) @ F ) )
            & ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) ) @ D ) @ G ) ) ) )
      & ( ? [F: $i,G: $i] :
            ( ( E
              = ( hAPP @ ( list @ ty ) @ ( list @ ty ) @ ( hAPP @ ty @ ( fun @ ( list @ ty ) @ ( list @ ty ) ) @ ( cons @ ty ) @ F ) @ G ) )
            & ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ C ) @ F ) )
            & ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) ) @ D ) @ G ) ) )
       => ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) ) @ ( hAPP @ ( list @ ty ) @ ( list @ ty ) @ ( hAPP @ ty @ ( fun @ ( list @ ty ) @ ( list @ ty ) ) @ ( cons @ ty ) @ C ) @ D ) ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[867]) ).

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

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

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

thf(3152,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( subcls1p @ A ) @ B ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ D ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ B ) ) ) )
      & ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ D ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ B ) ) )
       => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( subcls1p @ A ) @ B ) @ C ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[558]) ).

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

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

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

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

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

thf(3393,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ A ) @ E ) @ F ) @ G ) @ H ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ E ) @ F ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ A ) @ E ) @ F ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ G ) @ B ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ C ) ) ) @ ( hAPP @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ ty ) ) @ H ) @ B ) @ ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ D ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[622]) ).

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

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

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

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

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

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

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

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

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

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

thf(640,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod @ A @ B ) @ ( the_1 @ ( product_prod @ A @ B ) ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod_case @ A @ B @ bool ) @ ( hAPP @ ( fun @ B @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ ( combc @ A @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ bool @ bool ) ) @ ( fun @ A @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ bool @ bool ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ bool @ bool ) ) @ ( fun @ A @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) ) ) @ ( combb @ ( fun @ bool @ bool ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) @ A ) @ ( combb @ bool @ bool @ B ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ ( fun @ bool @ bool ) ) @ ( hAPP @ ( fun @ bool @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ ( fun @ bool @ bool ) ) ) @ ( combb @ bool @ ( fun @ bool @ bool ) @ A ) @ fconj ) @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( fequal @ A ) @ C ) ) ) ) @ ( hAPP @ B @ ( fun @ B @ bool ) @ ( fequal @ B ) @ D ) ) ) )
      = ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ C ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_892_The__split__eq) ).

thf(3453,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod @ A @ B ) @ ( the_1 @ ( product_prod @ A @ B ) ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod_case @ A @ B @ bool ) @ ( hAPP @ ( fun @ B @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ ( combc @ A @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ bool @ bool ) ) @ ( fun @ A @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ bool @ bool ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ bool @ bool ) ) @ ( fun @ A @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) ) ) @ ( combb @ ( fun @ bool @ bool ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) @ A ) @ ( combb @ bool @ bool @ B ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ ( fun @ bool @ bool ) ) @ ( hAPP @ ( fun @ bool @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ ( fun @ bool @ bool ) ) ) @ ( combb @ bool @ ( fun @ bool @ bool ) @ A ) @ fconj ) @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( fequal @ A ) @ C ) ) ) ) @ ( hAPP @ B @ ( fun @ B @ bool ) @ ( fequal @ B ) @ D ) ) ) )
      = ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ C ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[640]) ).

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

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

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

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

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

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

thf(199,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( B = C )
    <=> ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ A @ A ) @ ( fequal @ A ) ) @ B ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_961_list__all2__eq) ).

thf(1858,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B = C )
       => ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ A @ A ) @ ( fequal @ A ) ) @ B ) @ C ) ) )
      & ( ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ A @ A ) @ ( fequal @ A ) ) @ B ) @ C ) )
       => ( B = C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[199]) ).

thf(659,axiom,
    ( ( ti @ ( exp @ ( list @ char ) ) @ e_a )
    = e_a ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_e_Ha_____res) ).

thf(3525,plain,
    ( ( ti @ ( exp @ ( list @ char ) ) @ e_a )
    = e_a ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[659]) ).

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

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

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

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

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

thf(3973,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ D ) @ E ) ) @ F ) )
     => ~ ( ( F = void )
         => ! [G: $i] :
              ( ( ( hAPP @ ( list @ char ) @ ( option @ ty ) @ C @ D )
                = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ G ) )
             => ! [H: $i] :
                  ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ E ) @ H ) )
                 => ~ ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) @ H ) @ G ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[791]) ).

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

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

thf(394,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ G )
        = ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ H ) )
     => ( ( ( hAPP @ ( list @ val ) @ nat @ ( size_size @ ( list @ val ) ) @ F )
          = ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ H ) )
       => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ G ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ H ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ F ) @ D ) ) ) ) ) @ E ) )
        <=> ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) ) @ ( map_upds @ ( list @ char ) @ ty ) @ C ) @ G ) @ H ) ) @ D ) @ E ) )
            & ? [I: $i] :
                ( ( ( hAPP @ ( list @ val ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ val @ ( option @ ty ) ) @ ( fun @ ( list @ val ) @ ( list @ ( option @ ty ) ) ) @ ( map @ val @ ( option @ ty ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ B ) ) @ F )
                  = ( hAPP @ ( list @ ty ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ ty @ ( option @ ty ) ) @ ( fun @ ( list @ ty ) @ ( list @ ( option @ ty ) ) ) @ ( map @ ty @ ( option @ ty ) ) @ ( some @ ty ) ) @ I ) )
                & ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) ) @ I ) @ H ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_956_wt__blocks) ).

thf(2540,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ G )
        = ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ H ) )
     => ( ( ( hAPP @ ( list @ val ) @ nat @ ( size_size @ ( list @ val ) ) @ F )
          = ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ H ) )
       => ( ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ G ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ H ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ F ) @ D ) ) ) ) ) @ E ) )
           => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) ) @ ( map_upds @ ( list @ char ) @ ty ) @ C ) @ G ) @ H ) ) @ D ) @ E ) )
              & ? [I: $i] :
                  ( ( ( hAPP @ ( list @ val ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ val @ ( option @ ty ) ) @ ( fun @ ( list @ val ) @ ( list @ ( option @ ty ) ) ) @ ( map @ val @ ( option @ ty ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ B ) ) @ F )
                    = ( hAPP @ ( list @ ty ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ ty @ ( option @ ty ) ) @ ( fun @ ( list @ ty ) @ ( list @ ( option @ ty ) ) ) @ ( map @ ty @ ( option @ ty ) ) @ ( some @ ty ) ) @ I ) )
                  & ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) ) @ I ) @ H ) ) ) ) )
          & ( ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) ) @ ( map_upds @ ( list @ char ) @ ty ) @ C ) @ G ) @ H ) ) @ D ) @ E ) )
              & ? [I: $i] :
                  ( ( ( hAPP @ ( list @ val ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ val @ ( option @ ty ) ) @ ( fun @ ( list @ val ) @ ( list @ ( option @ ty ) ) ) @ ( map @ val @ ( option @ ty ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ B ) ) @ F )
                    = ( hAPP @ ( list @ ty ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ ty @ ( option @ ty ) ) @ ( fun @ ( list @ ty ) @ ( list @ ( option @ ty ) ) ) @ ( map @ ty @ ( option @ ty ) ) @ ( some @ ty ) ) @ I ) )
                  & ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) ) @ I ) @ H ) ) ) )
           => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ G ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ H ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ F ) @ D ) ) ) ) ) @ E ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[394]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(1029,axiom,
    ( ( ti @ val @ v_2 )
    = v_2 ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_v_H_____res) ).

thf(4810,plain,
    ( ( ti @ val @ v_2 )
    = v_2 ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1029]) ).

thf(843,axiom,
    hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wf_J_mdecl ) @ p ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_3_assms) ).

thf(4162,plain,
    hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wf_J_mdecl ) @ p ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[843]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(5220,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ E ) @ F ) @ G ) @ H ) @ I ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ E ) @ F ) @ ( hAPP @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ ty ) ) @ G ) @ A ) @ ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ ( hAPP @ ( list @ char ) @ ty @ class @ B ) ) ) ) @ C ) @ D ) )
       => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ E ) @ I ) @ D ) )
         => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ E ) @ F ) @ G ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ H ) @ B ) @ A ) @ C ) ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1152]) ).

thf(77,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ val @ ( exp @ A ) ) @ ( val_1 @ A ) )
      = ( val_1 @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OVal_res) ).

thf(1447,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ val @ ( exp @ A ) ) @ ( val_1 @ A ) )
      = ( val_1 @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[77]) ).

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

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

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

thf(3036,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ C ) ) ) @ ( combs @ A @ B @ C ) )
      = ( combs @ A @ B @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[532]) ).

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

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

thf(823,axiom,
    ( ( ti @ ( fun @ ( list @ char ) @ nat ) @ addr_of_sys_xcpt )
    = addr_of_sys_xcpt ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Exceptions_Oaddr__of__sys__xcpt_res) ).

thf(4087,plain,
    ( ( ti @ ( fun @ ( list @ char ) @ nat ) @ addr_of_sys_xcpt )
    = addr_of_sys_xcpt ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[823]) ).

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

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

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

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

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

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

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

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

thf(786,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ C ) ) )
    <=> ? [D: $i,E: $i] :
          ( C
          = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ B ) @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_900_in__set__conv__decomp) ).

thf(3955,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ C ) ) )
       => ? [D: $i,E: $i] :
            ( C
            = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ B ) @ E ) ) ) )
      & ( ? [D: $i,E: $i] :
            ( C
            = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ B ) @ E ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ C ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[786]) ).

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

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

thf(949,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ B ) @ C ) ) @ D ) )
    <=> ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ C ) @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_505__092_060D_062___092_060D_062s_Osimps_I2_J) ).

thf(4519,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ B ) @ C ) ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ C ) @ D ) ) )
      & ( ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ B ) @ C ) ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[949]) ).

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

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

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

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

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

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

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

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

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

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

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] :
          ( ( ti @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ G )
         != ( hAPP @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ ( hAPP @ A @ ( fun @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ H ) @ ( hAPP @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ ( hAPP @ B @ ( fun @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ I ) @ ( hAPP @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ ( hAPP @ C @ ( fun @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ J ) @ ( hAPP @ ( product_prod @ E @ F ) @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ ( hAPP @ D @ ( fun @ ( product_prod @ E @ F ) @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ ( product_Pair @ D @ ( product_prod @ E @ F ) ) @ K ) @ ( hAPP @ F @ ( product_prod @ E @ F ) @ ( hAPP @ E @ ( fun @ F @ ( product_prod @ E @ F ) ) @ ( product_Pair @ E @ F ) @ L ) @ M ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_9_prod__cases6) ).

thf(3186,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] :
          ( ( ti @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ G )
         != ( hAPP @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ ( hAPP @ A @ ( fun @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ H ) @ ( hAPP @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ ( hAPP @ B @ ( fun @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ I ) @ ( hAPP @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ ( hAPP @ C @ ( fun @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ J ) @ ( hAPP @ ( product_prod @ E @ F ) @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ ( hAPP @ D @ ( fun @ ( product_prod @ E @ F ) @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ ( product_Pair @ D @ ( product_prod @ E @ F ) ) @ K ) @ ( hAPP @ F @ ( product_prod @ E @ F ) @ ( hAPP @ E @ ( fun @ F @ ( product_prod @ E @ F ) ) @ ( product_Pair @ E @ F ) @ L ) @ M ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[569]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(2011,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ nat @ bool @ ( hAPP @ nat @ ( fun @ nat @ bool ) @ ( ord_less_eq @ nat ) @ ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ C ) ) @ ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ D ) ) )
     => ( C
       != ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ B ) @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[242]) ).

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

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

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

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

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

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

thf(1091,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ~ ( hBOOL @ ( hAPP @ ( exp @ A ) @ bool @ ( final @ A ) @ C ) )
     => ~ ( hBOOL @ ( hAPP @ ( list @ ( exp @ A ) ) @ bool @ ( finals @ A ) @ ( hAPP @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) ) @ ( cons @ ( exp @ A ) ) @ C ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_867_not__finals__ConsI) ).

thf(5012,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ~ ( hBOOL @ ( hAPP @ ( exp @ A ) @ bool @ ( final @ A ) @ C ) )
     => ~ ( hBOOL @ ( hAPP @ ( list @ ( exp @ A ) ) @ bool @ ( finals @ A ) @ ( hAPP @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) ) @ ( cons @ ( exp @ A ) ) @ C ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1091]) ).

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

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

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] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ E ) @ F ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ G ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ H ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ I ) @ J ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ K ) ) )
     => ( ( ( hAPP @ ( list @ char ) @ ( option @ val ) @ J @ F )
          = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ F ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ F ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ G ) ) ) @ C ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ F ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ F ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) ) @ H ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ I ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ J ) @ F ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ E @ F ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ K ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_71_red__reds_OInitBlockRed) ).

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

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

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

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

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

thf(597,axiom,
    ! [A: $i,B: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( member @ ( list @ char ) ) @ B ) @ sys_xcpts ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ A @ nullPointer ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ A @ outOfMemory ) )
         => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ A @ classCast ) )
           => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ A @ B ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_609_sys__xcpts__cases) ).

thf(3301,plain,
    ! [A: $i,B: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( member @ ( list @ char ) ) @ B ) @ sys_xcpts ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ A @ nullPointer ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ A @ outOfMemory ) )
         => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ A @ classCast ) )
           => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ A @ B ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[597]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ I ) @ J ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ K ) ) ) @ L ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ M ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ L ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ F ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ H ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ M ) ) ) )
       => ( ( ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ C ) @ D ) )
            = ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ G @ K ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ I ) @ A ) @ B ) @ E ) ) @ J ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ G ) @ K ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ D ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ A ) @ B ) ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ F ) ) ) ) ) ) @ H ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ M ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_280_FAssRedsVal) ).

thf(1470,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] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ I ) @ J ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ K ) ) ) @ L ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ M ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ L ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ F ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ H ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ M ) ) ) )
       => ( ( ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ C ) @ D ) )
            = ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ G @ K ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ I ) @ A ) @ B ) @ E ) ) @ J ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ G ) @ K ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( option @ val ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ D ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ A ) @ B ) ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ F ) ) ) ) ) ) @ H ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ M ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[85]) ).

thf(263,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ C ) @ D )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ E ) @ F ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( transitive_rtranclp @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( subcls1p @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) ) @ E ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ B ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_599_redp__redsp_ORedCast) ).

thf(2093,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ C ) @ D )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ E ) @ F ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( transitive_rtranclp @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( subcls1p @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) ) @ E ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ B ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[263]) ).

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

thf(1783,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ C ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ F ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( dom @ ( list @ char ) @ val ) @ F ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( dom @ ( list @ char ) @ val ) @ C ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ A ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[178]) ).

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

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

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

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

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

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

thf(809,axiom,
    ! [A: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ A ) )
    <=> ! [B: $i] :
          ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( member @ ( list @ char ) ) @ B ) @ sys_xcpts ) )
         => ? [C: $i] :
              ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ A @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ B ) )
              = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ B ) @ C ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_622_preallocated__def) ).

thf(4031,plain,
    ! [A: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ A ) )
       => ! [B: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( member @ ( list @ char ) ) @ B ) @ sys_xcpts ) )
           => ? [C: $i] :
                ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ A @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ B ) )
                = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ B ) @ C ) ) ) ) )
      & ( ! [B: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( member @ ( list @ char ) ) @ B ) @ sys_xcpts ) )
           => ? [C: $i] :
                ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ A @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ B ) )
                = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ B ) @ C ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ A ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[809]) ).

thf(827,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ? [D: $i] :
          ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ C ) ) )
          & ( hBOOL @ ( hAPP @ A @ bool @ B @ D ) ) )
     => ~ ! [D: $i,E: $i] :
            ( ? [F: $i] :
                ( C
                = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ E ) @ F ) ) )
           => ~ ( hBOOL @ ( hAPP @ A @ bool @ B @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_896_split__list__propE) ).

thf(4100,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ? [D: $i] :
          ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ C ) ) )
          & ( hBOOL @ ( hAPP @ A @ bool @ B @ D ) ) )
     => ~ ! [D: $i,E: $i] :
            ( ? [F: $i] :
                ( C
                = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ E ) @ F ) ) )
           => ~ ( hBOOL @ ( hAPP @ A @ bool @ B @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[827]) ).

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

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

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

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

thf(173,axiom,
    ( ( ti @ ( fun @ ( list @ char ) @ ty ) @ class )
    = class ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_Oty_OClass_res) ).

thf(1768,plain,
    ( ( ti @ ( fun @ ( list @ char ) @ ty ) @ class )
    = class ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[173]) ).

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

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

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

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

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

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

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

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

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

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

thf(708,axiom,
    ! [A: $i,B: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( exp @ A ) ) @ bool @ ( finals @ A ) @ B ) )
    <=> ( ? [C: $i] :
            ( B
            = ( hAPP @ ( list @ val ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( fun @ val @ ( exp @ A ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ A ) ) ) @ ( map @ val @ ( exp @ A ) ) @ ( val_1 @ A ) ) @ C ) )
        | ? [C: $i,D: $i,E: $i] :
            ( B
            = ( hAPP @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( list @ ( exp @ A ) ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) ) @ ( append @ ( exp @ A ) ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( fun @ val @ ( exp @ A ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ A ) ) ) @ ( map @ val @ ( exp @ A ) ) @ ( val_1 @ A ) ) @ C ) ) @ ( hAPP @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) ) @ ( cons @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) ) @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_868_finals__def) ).

thf(3679,plain,
    ! [A: $i,B: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( list @ ( exp @ A ) ) @ bool @ ( finals @ A ) @ B ) )
       => ( ? [C: $i] :
              ( B
              = ( hAPP @ ( list @ val ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( fun @ val @ ( exp @ A ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ A ) ) ) @ ( map @ val @ ( exp @ A ) ) @ ( val_1 @ A ) ) @ C ) )
          | ? [C: $i,D: $i,E: $i] :
              ( B
              = ( hAPP @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( list @ ( exp @ A ) ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) ) @ ( append @ ( exp @ A ) ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( fun @ val @ ( exp @ A ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ A ) ) ) @ ( map @ val @ ( exp @ A ) ) @ ( val_1 @ A ) ) @ C ) ) @ ( hAPP @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) ) @ ( cons @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) ) @ E ) ) ) ) )
      & ( ( ? [C: $i] :
              ( B
              = ( hAPP @ ( list @ val ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( fun @ val @ ( exp @ A ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ A ) ) ) @ ( map @ val @ ( exp @ A ) ) @ ( val_1 @ A ) ) @ C ) )
          | ? [C: $i,D: $i,E: $i] :
              ( B
              = ( hAPP @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( list @ ( exp @ A ) ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) ) @ ( append @ ( exp @ A ) ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( fun @ val @ ( exp @ A ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ A ) ) ) @ ( map @ val @ ( exp @ A ) ) @ ( val_1 @ A ) ) @ C ) ) @ ( hAPP @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) ) @ ( cons @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) ) @ E ) ) ) )
       => ( hBOOL @ ( hAPP @ ( list @ ( exp @ A ) ) @ bool @ ( finals @ A ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[708]) ).

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(935,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_661_exp_Osimps_I214_J) ).

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

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

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

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

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

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

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

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

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

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

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

thf(1039,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ? [E: $i] :
          ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ E ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ D ) ) )
          & ( hBOOL @ ( hAPP @ A @ bool @ B @ E ) ) )
    <=> ( ? [E: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ E ) @ C ) )
            & ( hBOOL @ ( hAPP @ A @ bool @ B @ E ) ) )
        | ? [E: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ E ) @ D ) )
            & ( hBOOL @ ( hAPP @ A @ bool @ B @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_254_bex__Un) ).

thf(4836,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ? [E: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ E ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ D ) ) )
            & ( hBOOL @ ( hAPP @ A @ bool @ B @ E ) ) )
       => ( ? [E: $i] :
              ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ E ) @ C ) )
              & ( hBOOL @ ( hAPP @ A @ bool @ B @ E ) ) )
          | ? [E: $i] :
              ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ E ) @ D ) )
              & ( hBOOL @ ( hAPP @ A @ bool @ B @ E ) ) ) ) )
      & ( ( ? [E: $i] :
              ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ E ) @ C ) )
              & ( hBOOL @ ( hAPP @ A @ bool @ B @ E ) ) )
          | ? [E: $i] :
              ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ E ) @ D ) )
              & ( hBOOL @ ( hAPP @ A @ bool @ B @ E ) ) ) )
       => ? [E: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ E ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ D ) ) )
            & ( hBOOL @ ( hAPP @ A @ bool @ B @ E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1039]) ).

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

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

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

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

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

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

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

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

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

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

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

thf(2264,plain,
    ! [A: $i] :
      ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ A ) @ unit )
      = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ void ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[315]) ).

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

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

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

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

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

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

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

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

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

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

thf(1084,axiom,
    ! [A: $i,B: $i] :
      ( ! [C: $i] :
          ( ( ti @ ( option @ A ) @ B )
         != ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ C ) )
    <=> ( ( ti @ ( option @ A ) @ B )
        = ( none @ A ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_140_not__Some__eq) ).

thf(4989,plain,
    ! [A: $i,B: $i] :
      ( ( ! [C: $i] :
            ( ( ti @ ( option @ A ) @ B )
           != ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ C ) )
       => ( ( ti @ ( option @ A ) @ B )
          = ( none @ A ) ) )
      & ( ( ( ti @ ( option @ A ) @ B )
          = ( none @ A ) )
       => ! [C: $i] :
            ( ( ti @ ( option @ A ) @ B )
           != ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1084]) ).

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

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

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

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

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

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

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

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

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

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

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

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

thf(587,axiom,
    ! [A: $i,B: $i] :
      ( ~ ( hBOOL @ ( hAPP @ bool @ bool @ ( hAPP @ bool @ ( fun @ bool @ bool ) @ fconj @ A ) @ B ) )
      | ( hBOOL @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fconj_3_1_U) ).

thf(3271,plain,
    ! [A: $i,B: $i] :
      ( ~ ( hBOOL @ ( hAPP @ bool @ bool @ ( hAPP @ bool @ ( fun @ bool @ bool ) @ fconj @ A ) @ B ) )
      | ( hBOOL @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[587]) ).

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

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

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

thf(1365,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ D ) @ nt ) )
       => ( D = null ) )
      & ( ( D = null )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ D ) @ nt ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[59]) ).

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

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

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

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

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

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

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

thf(1740,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ D ) ) )
     => ? [E: $i] :
          ( ( hAPP @ A @ ( option @ B ) @ D @ C )
          = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[164]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(3269,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_trancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) ) )
       => ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_trancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[586]) ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(4776,plain,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( product_Pair @ A @ B ) )
      = ( product_Pair @ A @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1019]) ).

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

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

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

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

thf(257,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ D ) @ E ) ) ) )
     => ( ! [F: $i,G: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ F ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) )
           => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ G ) @ F ) ) @ E ) )
             => ( ( ti @ A @ G )
                = ( ti @ A @ F ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_341_rtrancl__Un__separator__converseE) ).

thf(2068,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ D ) @ E ) ) ) )
     => ( ! [F: $i,G: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ F ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) )
           => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ G ) @ F ) ) @ E ) )
             => ( ( ti @ A @ G )
                = ( ti @ A @ F ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[257]) ).

thf(187,axiom,
    ( ( ti @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ p )
    = p ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_P_res) ).

thf(1819,plain,
    ( ( ti @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ p )
    = p ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[187]) ).

thf(555,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ B ) )
      = ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_927_rtrancl__trancl__absorb) ).

thf(3144,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ B ) )
      = ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[555]) ).

thf(1011,axiom,
    ( ( ti @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( option @ nat ) ) @ new_Addr )
    = new_Addr ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Objects_Onew__Addr_res) ).

thf(4746,plain,
    ( ( ti @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( option @ nat ) ) @ new_Addr )
    = new_Addr ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1011]) ).

thf(180,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ C ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ C ) ) @ ( comp @ B @ C @ A ) @ D ) @ ( hAPP @ B @ ( fun @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( fun @ A @ B ) ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ ( fun @ B @ ( fun @ A @ B ) ) ) @ ( fun_upd @ A @ B ) @ E ) @ F ) @ G ) )
      = ( hAPP @ C @ ( fun @ A @ C ) @ ( hAPP @ A @ ( fun @ C @ ( fun @ A @ C ) ) @ ( hAPP @ ( fun @ A @ C ) @ ( fun @ A @ ( fun @ C @ ( fun @ A @ C ) ) ) @ ( fun_upd @ A @ C ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ C ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ C ) ) @ ( comp @ B @ C @ A ) @ D ) @ E ) ) @ F ) @ ( hAPP @ B @ C @ D @ G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_999_fun__upd__comp) ).

thf(1787,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ C ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ C ) ) @ ( comp @ B @ C @ A ) @ D ) @ ( hAPP @ B @ ( fun @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( fun @ A @ B ) ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ ( fun @ B @ ( fun @ A @ B ) ) ) @ ( fun_upd @ A @ B ) @ E ) @ F ) @ G ) )
      = ( hAPP @ C @ ( fun @ A @ C ) @ ( hAPP @ A @ ( fun @ C @ ( fun @ A @ C ) ) @ ( hAPP @ ( fun @ A @ C ) @ ( fun @ A @ ( fun @ C @ ( fun @ A @ C ) ) ) @ ( fun_upd @ A @ C ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ C ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ C ) ) @ ( comp @ B @ C @ A ) @ D ) @ E ) ) @ F ) @ ( hAPP @ B @ C @ D @ G ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[180]) ).

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] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ H ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ I ) @ J ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ K ) ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ I @ H )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ E ) ) )
       => ( ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ D ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ K ) ) ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ F ) @ C ) @ A ) @ B ) ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ H ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ I ) @ J ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ K ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_419_TryRedsFail) ).

thf(5113,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ H ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ I ) @ J ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ K ) ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ I @ H )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ E ) ) )
       => ( ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ D ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ K ) ) ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ F ) @ C ) @ A ) @ B ) ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ H ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ I ) @ J ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ K ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1125]) ).

thf(289,axiom,
    ( ( ti @ val @ v )
    = v ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_v_____res) ).

thf(2181,plain,
    ( ( ti @ val @ v )
    = v ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[289]) ).

thf(921,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( option @ nat ) @ new_Addr @ F )
        = ( hAPP @ nat @ ( option @ nat ) @ ( some @ nat ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ C ) @ D ) @ E ) )
       => ( ( B
            = ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ F ) @ G ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ init_fields @ E ) ) ) ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( new @ ( list @ char ) ) @ D ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ A ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ G ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ A ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_772_redp__redsp_ORedNew) ).

thf(4417,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( option @ nat ) @ new_Addr @ F )
        = ( hAPP @ nat @ ( option @ nat ) @ ( some @ nat ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ C ) @ D ) @ E ) )
       => ( ( B
            = ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ F ) @ G ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ init_fields @ E ) ) ) ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( new @ ( list @ char ) ) @ D ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ A ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ G ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ A ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[921]) ).

thf(534,axiom,
    ! [A: $i] :
      ( ( hBOOL @ ( ti @ bool @ A ) )
    <=> ( hBOOL @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_hBOOL_arg1) ).

thf(3050,plain,
    ! [A: $i] :
      ( ( ( hBOOL @ ( ti @ bool @ A ) )
       => ( hBOOL @ A ) )
      & ( ( hBOOL @ A )
       => ( hBOOL @ ( ti @ bool @ A ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[534]) ).

thf(777,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ C ) @ D )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) ) @ ( wf_cdecl @ A ) @ B ) @ C ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ D ) @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_727_class__wf) ).

thf(3926,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ C ) @ D )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) ) @ ( wf_cdecl @ A ) @ B ) @ C ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ D ) @ E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[777]) ).

thf(6,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ A @ ( fun @ bop @ A ) ) ) @ ( bop_rec @ A ) )
      = ( bop_rec @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Obop_Obop__rec_res) ).

thf(1195,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ A @ ( fun @ bop @ A ) ) ) @ ( bop_rec @ A ) )
      = ( bop_rec @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[6]) ).

thf(299,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ C ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ D ) ) )
     => ( ( B != object )
        & ? [E: $i,F: $i] :
            ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ D ) @ B )
            = ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ C ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ E ) @ F ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_728_subcls1D) ).

thf(2211,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ C ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ D ) ) )
     => ( ( B != object )
        & ? [E: $i,F: $i] :
            ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ D ) @ B )
            = ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ C ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ E ) @ F ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[299]) ).

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] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ I ) @ J ) @ K ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ L ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ M ) @ N ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ M @ L )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ G ) @ H ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ G ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) ) ) )
         => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ I ) @ A ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ M ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ N ) @ B ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ ( hAPP @ nat @ val @ addr @ L ) ) ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ E ) ) )
           => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ I ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ J ) @ F ) @ B ) @ A ) ) @ K ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ E ) @ B ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ N @ B ) ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_477_TryCatch) ).

thf(2344,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] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ I ) @ J ) @ K ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ L ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ M ) @ N ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ M @ L )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ G ) @ H ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ G ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) ) ) )
         => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ I ) @ A ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ M ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ N ) @ B ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ ( hAPP @ nat @ val @ addr @ L ) ) ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ E ) ) )
           => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ I ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ J ) @ F ) @ B ) @ A ) ) @ K ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ E ) @ B ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ N @ B ) ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[339]) ).

thf(379,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_739_exp_Osimps_I37_J) ).

thf(2492,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[379]) ).

thf(828,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ A ) @ B ) @ C ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( combk @ ( option @ val ) @ ( list @ char ) ) @ ( none @ val ) ) ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_134_lconf__empty) ).

thf(4104,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ A ) @ B ) @ C ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( combk @ ( option @ val ) @ ( list @ char ) ) @ ( none @ val ) ) ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[828]) ).

thf(698,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ C ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_240_eval__hext) ).

thf(3647,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ C ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[698]) ).

thf(39,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ B )
       != ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ C ) )
     => ( B != C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_928_neq__if__length__neq) ).

thf(1291,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ B )
       != ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ C ) )
     => ( B != C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[39]) ).

thf(121,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ C ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_398_red__reds_OSeqThrow) ).

thf(1592,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ C ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[121]) ).

thf(1076,axiom,
    ! [A: $i,B: $i] :
      ( ( ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( option @ nat ) @ new_Addr @ A )
        = ( hAPP @ nat @ ( option @ nat ) @ ( some @ nat ) @ B ) )
     => ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ A @ B )
        = ( none @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_764_new__Addr__SomeD) ).

thf(4957,plain,
    ! [A: $i,B: $i] :
      ( ( ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( option @ nat ) @ new_Addr @ A )
        = ( hAPP @ nat @ ( option @ nat ) @ ( some @ nat ) @ B ) )
     => ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ A @ B )
        = ( none @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1076]) ).

thf(617,axiom,
    ! [A: $i] :
      ( null
     != ( hAPP @ bool @ val @ bool_1 @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_616_val_Osimps_I12_J) ).

thf(3381,plain,
    ! [A: $i] :
      ( null
     != ( hAPP @ bool @ val @ bool_1 @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[617]) ).

thf(119,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) @ G ) @ H ) )
     => ( ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( method_1 @ A ) @ B ) @ C ) @ D )
        = ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ H ) @ ( hAPP @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ E ) @ ( hAPP @ A @ ( product_prod @ ty @ A ) @ ( hAPP @ ty @ ( fun @ A @ ( product_prod @ ty @ A ) ) @ ( product_Pair @ ty @ A ) @ F ) @ G ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_910_method__def2) ).

thf(1587,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) @ G ) @ H ) )
     => ( ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( method_1 @ A ) @ B ) @ C ) @ D )
        = ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ H ) @ ( hAPP @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ E ) @ ( hAPP @ A @ ( product_prod @ ty @ A ) @ ( hAPP @ ty @ ( fun @ A @ ( product_prod @ ty @ A ) ) @ ( product_Pair @ ty @ A ) @ F ) @ G ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[119]) ).

thf(480,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ D ) @ E ) )
     => ( ! [F: $i] :
            ( ! [G: $i] :
                ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ F ) @ G ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_trancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) ) )
               => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ C @ G ) ) )
           => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ C @ F ) ) )
       => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ C @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_989_subcls__induct) ).

thf(2858,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ D ) @ E ) )
     => ( ! [F: $i] :
            ( ! [G: $i] :
                ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ F ) @ G ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_trancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) ) )
               => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ C @ G ) ) )
           => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ C @ F ) ) )
       => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ C @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[480]) ).

thf(1115,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_752_exp_Osimps_I21_J) ).

thf(5081,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1115]) ).

thf(699,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_trancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) ) )
       => ( B != C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_947_subcls__irrefl) ).

thf(3650,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_trancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) ) )
       => ( B != C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[699]) ).

thf(169,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) @ C ) @ D ) @ E ) )
     => ~ ( ( D
            = ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) )
         => ( E != C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_271_eval__cases_I2_J) ).

thf(1755,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) @ C ) @ D ) @ E ) )
     => ~ ( ( D
            = ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) )
         => ( E != C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[169]) ).

thf(524,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ B ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_244_UnCI) ).

thf(3001,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ B ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[524]) ).

thf(1056,axiom,
    ( ( ti @ ( fun @ ty @ bool ) @ is_refT )
    = is_refT ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_Ois__refT_res) ).

thf(4898,plain,
    ( ( ti @ ( fun @ ty @ bool ) @ is_refT )
    = is_refT ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1056]) ).

thf(1180,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ C ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ D ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ D ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ C ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_933_trancl__mono) ).

thf(5313,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ C ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ D ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ D ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ C ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ B ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1180]) ).

thf(55,axiom,
    ( ( ti @ ( fun @ bool @ bool ) @ fNot )
    = fNot ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fNot_res) ).

thf(1350,plain,
    ( ( ti @ ( fun @ bool @ bool ) @ fNot )
    = fNot ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[55]) ).

thf(789,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( fun_upd @ A @ ( option @ B ) ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( combk @ ( option @ B ) @ A ) @ ( none @ B ) ) ) @ C ) @ ( none @ B ) ) @ D )
      = ( none @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_148_empty__upd__none) ).

thf(3968,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( fun_upd @ A @ ( option @ B ) ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( combk @ ( option @ B ) @ A ) @ ( none @ B ) ) ) @ C ) @ ( none @ B ) ) @ D )
      = ( none @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[789]) ).

thf(1028,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) @ C ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) ) @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_393_redp__redsp_OFAssThrow2) ).

thf(4808,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) @ C ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) ) @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1028]) ).

thf(381,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ ( hAPP @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ ty ) ) @ C ) @ D ) @ ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ E ) ) ) @ F ) @ G ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ D ) @ E ) @ F ) ) @ G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_86_WTrtBlock) ).

thf(2498,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ ( hAPP @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ ty ) ) @ C ) @ D ) @ ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ E ) ) ) @ F ) @ G ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ D ) @ E ) @ F ) ) @ G ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[381]) ).

thf(773,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
        = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ E ) @ F ) @ G ) )
    <=> ( ( ( ti @ A @ B )
          = ( ti @ A @ E ) )
        & ( C = F )
        & ( D = G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_114_exp_Osimps_I10_J) ).

thf(3909,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
          = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ E ) @ F ) @ G ) )
       => ( ( ( ti @ A @ B )
            = ( ti @ A @ E ) )
          & ( C = F )
          & ( D = G ) ) )
      & ( ( ( ( ti @ A @ B )
            = ( ti @ A @ E ) )
          & ( C = F )
          & ( D = G ) )
       => ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
          = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ E ) @ F ) @ G ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[773]) ).

thf(21,axiom,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ B @ A ) ) @ ( combk @ A @ B ) )
      = ( combk @ A @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_COMBK_res) ).

thf(1234,plain,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ B @ A ) ) @ ( combk @ A @ B ) )
      = ( combk @ A @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[21]) ).

thf(102,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_827_exp_Osimps_I190_J) ).

thf(1541,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[102]) ).

thf(282,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( option @ nat ) @ new_Addr @ D )
        = ( none @ nat ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( new @ ( list @ char ) ) @ A ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ B ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ outOfMemory ) ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ B ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_735_red__reds_ORedNewFail) ).

thf(2157,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( option @ nat ) @ new_Addr @ D )
        = ( none @ nat ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( new @ ( list @ char ) ) @ A ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ B ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ outOfMemory ) ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ B ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[282]) ).

thf(474,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ B ) @ C ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ C ) @ A ) )
       => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ B ) @ A ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_100_hext__trans) ).

thf(2840,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ B ) @ C ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ C ) @ A ) )
       => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ B ) @ A ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[474]) ).

thf(647,axiom,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) ) @ reds )
    = reds ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_SmallStep_Oreds_res) ).

thf(3482,plain,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) ) @ reds )
    = reds ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[647]) ).

thf(265,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ C ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_757_exp_Osimps_I28_J) ).

thf(2100,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ C ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[265]) ).

thf(197,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_801_exp_Osimps_I188_J) ).

thf(1851,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[197]) ).

thf(522,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ C ) @ D ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_361_exp_Osimps_I76_J) ).

thf(2990,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ C ) @ D ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[522]) ).

thf(351,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ E ) @ F ) @ G ) @ H ) @ nt ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ E ) @ F ) @ G ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ E ) @ F ) @ G ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ H ) @ A ) @ C ) ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_874_WTrtCallNT) ).

thf(2377,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ E ) @ F ) @ G ) @ H ) @ nt ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ E ) @ F ) @ G ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ E ) @ F ) @ G ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ H ) @ A ) @ C ) ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[351]) ).

thf(1168,axiom,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ B ) ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ C ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_889_set__subset__Cons) ).

thf(5270,plain,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ B ) ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ C ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1168]) ).

thf(182,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ~ ! [E: $i,F: $i,G: $i] :
          ( ( ti @ ( product_prod @ A @ ( product_prod @ B @ C ) ) @ D )
         != ( hAPP @ ( product_prod @ B @ C ) @ ( product_prod @ A @ ( product_prod @ B @ C ) ) @ ( hAPP @ A @ ( fun @ ( product_prod @ B @ C ) @ ( product_prod @ A @ ( product_prod @ B @ C ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ C ) ) @ E ) @ ( hAPP @ C @ ( product_prod @ B @ C ) @ ( hAPP @ B @ ( fun @ C @ ( product_prod @ B @ C ) ) @ ( product_Pair @ B @ C ) @ F ) @ G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_29_prod__cases3) ).

thf(1794,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ~ ! [E: $i,F: $i,G: $i] :
          ( ( ti @ ( product_prod @ A @ ( product_prod @ B @ C ) ) @ D )
         != ( hAPP @ ( product_prod @ B @ C ) @ ( product_prod @ A @ ( product_prod @ B @ C ) ) @ ( hAPP @ A @ ( fun @ ( product_prod @ B @ C ) @ ( product_prod @ A @ ( product_prod @ B @ C ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ C ) ) @ E ) @ ( hAPP @ C @ ( product_prod @ B @ C ) @ ( hAPP @ B @ ( fun @ C @ ( product_prod @ B @ C ) ) @ ( product_Pair @ B @ C ) @ F ) @ G ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[182]) ).

thf(1089,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ D ) @ A ) @ B ) @ C ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ F ) @ A ) @ B ) @ C ) ) @ G ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_465_red__reds_OTryRed) ).

thf(5006,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ D ) @ A ) @ B ) @ C ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ F ) @ A ) @ B ) @ C ) ) @ G ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1089]) ).

thf(635,axiom,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ B ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_262_Un__upper1) ).

thf(3440,plain,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ B ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[635]) ).

thf(858,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ E ) @ F )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ G ) @ H ) ) )
     => ( ~ ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( transitive_rtranclp @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( subcls1p @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ C ) ) @ G ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) ) @ D ) @ A ) @ B ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) ) @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_600_redp__redsp_ORedTryFail) ).

thf(4219,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ E ) @ F )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ G ) @ H ) ) )
     => ( ~ ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( transitive_rtranclp @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( subcls1p @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ C ) ) @ G ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) ) @ D ) @ A ) @ B ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[858]) ).

thf(152,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( sees_field @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_783_has__visible__field) ).

thf(1683,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( sees_field @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[152]) ).

thf(993,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ D ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_491_exp_Osimps_I61_J) ).

thf(4653,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ D ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[993]) ).

thf(57,axiom,
    ( ( ti @ ( list @ char ) @ this )
    = this ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_Othis_res) ).

thf(1361,plain,
    ( ( ti @ ( list @ char ) @ this )
    = this ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[57]) ).

thf(1144,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ B ) @ C ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ C ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ B ) ) )
       => ( ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ C )
          = ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_177_rtrancl__subset) ).

thf(5181,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ B ) @ C ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ C ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ B ) ) )
       => ( ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ C )
          = ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1144]) ).

thf(470,axiom,
    ! [A: $i] :
      ( ~ ( hBOOL @ ( hAPP @ bool @ bool @ fNot @ A ) )
      | ~ ( hBOOL @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fNot_1_1_U) ).

thf(2830,plain,
    ! [A: $i] :
      ( ~ ( hBOOL @ ( hAPP @ bool @ bool @ fNot @ A ) )
      | ~ ( hBOOL @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[470]) ).

thf(362,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_515_CastRedsThrow) ).

thf(2419,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[362]) ).

thf(308,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_296_exp_Osimps_I139_J) ).

thf(2240,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[308]) ).

thf(991,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ E ) @ A ) @ B ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ B ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_233_big__by__small) ).

thf(4648,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ E ) @ A ) @ B ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ B ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[991]) ).

thf(261,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_631_exp_Osimps_I178_J) ).

thf(2085,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[261]) ).

thf(129,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ B ) @ C ) )
     => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ C ) @ object ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_691_is__class__Object) ).

thf(1612,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ B ) @ C ) )
     => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ C ) @ object ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[129]) ).

thf(330,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ A ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ C ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) ) ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_340_red__reds_OInitBlockThrow) ).

thf(2317,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ A ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ C ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) ) ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[330]) ).

thf(780,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_79_red__reds_OLAssRed) ).

thf(3935,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[780]) ).

thf(881,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ E ) @ F ) @ G ) @ H ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_821_exp_Osimps_I171_J) ).

thf(4301,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ E ) @ F ) @ G ) @ H ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[881]) ).

thf(1139,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ B )
     != ( none @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_139_option_Osimps_I3_J) ).

thf(5166,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ B )
     != ( none @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1139]) ).

thf(228,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ty @ A @ ( hAPP @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) @ ( hAPP @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) ) ) @ ( ty_case @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) @ ( hAPP @ ( list @ char ) @ ty @ class @ G ) )
      = ( hAPP @ ( list @ char ) @ A @ F @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_765_ty_Osimps_I26_J) ).

thf(1964,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ty @ A @ ( hAPP @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) @ ( hAPP @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) ) ) @ ( ty_case @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) @ ( hAPP @ ( list @ char ) @ ty @ class @ G ) )
      = ( hAPP @ ( list @ char ) @ A @ F @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[228]) ).

thf(872,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( exp @ A ) ) @ bool @ ( finals @ A ) @ ( hAPP @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( list @ ( exp @ A ) ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) ) @ ( append @ ( exp @ A ) ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( fun @ val @ ( exp @ A ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ A ) ) ) @ ( map @ val @ ( exp @ A ) ) @ ( val_1 @ A ) ) @ B ) ) @ C ) ) )
    <=> ( hBOOL @ ( hAPP @ ( list @ ( exp @ A ) ) @ bool @ ( finals @ A ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_863_finals__app__map) ).

thf(4276,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( list @ ( exp @ A ) ) @ bool @ ( finals @ A ) @ ( hAPP @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( list @ ( exp @ A ) ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) ) @ ( append @ ( exp @ A ) ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( fun @ val @ ( exp @ A ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ A ) ) ) @ ( map @ val @ ( exp @ A ) ) @ ( val_1 @ A ) ) @ B ) ) @ C ) ) )
       => ( hBOOL @ ( hAPP @ ( list @ ( exp @ A ) ) @ bool @ ( finals @ A ) @ C ) ) )
      & ( ( hBOOL @ ( hAPP @ ( list @ ( exp @ A ) ) @ bool @ ( finals @ A ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( list @ ( exp @ A ) ) @ bool @ ( finals @ A ) @ ( hAPP @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( list @ ( exp @ A ) ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( list @ ( exp @ A ) ) ) @ ( append @ ( exp @ A ) ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ A ) ) @ ( hAPP @ ( fun @ val @ ( exp @ A ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ A ) ) ) @ ( map @ val @ ( exp @ A ) ) @ ( val_1 @ A ) ) @ B ) ) @ C ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[872]) ).

thf(922,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ F ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ F ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_857_ListReds2) ).

thf(4421,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ F ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ F ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[922]) ).

thf(372,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ A ) @ E ) @ F ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( product_Pair @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ C ) ) @ D ) ) @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ bool ) @ ( set @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ G ) ) )
       => ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_trancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_920_subcls__notin__has__fields) ).

thf(2455,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ A ) @ E ) @ F ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( product_Pair @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ C ) ) @ D ) ) @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ bool ) @ ( set @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ G ) ) )
       => ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_trancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[372]) ).

thf(118,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ A ) @ E ) @ F ) @ G ) @ H ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ E ) @ F ) @ C ) @ D ) )
       => ( ( ( hAPP @ ( list @ char ) @ ( option @ ty ) @ H @ B )
            = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ D ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ A ) @ E ) @ F ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ G ) @ B ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ C ) ) ) @ H ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_47_lconf__upd) ).

thf(1584,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ A ) @ E ) @ F ) @ G ) @ H ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ E ) @ F ) @ C ) @ D ) )
       => ( ( ( hAPP @ ( list @ char ) @ ( option @ ty ) @ H @ B )
            = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ D ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ A ) @ E ) @ F ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ G ) @ B ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ C ) ) ) @ H ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[118]) ).

thf(947,axiom,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i] : ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_327_sup__ge2) ).

thf(4513,plain,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i] : ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[947]) ).

thf(13,axiom,
    ( ( ti @ val @ unit )
    = unit ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Value_Oval_OUnit_res) ).

thf(1214,plain,
    ( ( ti @ val @ unit )
    = unit ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[13]) ).

thf(572,axiom,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ B ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ B ) ) ) ) @ ( override_on @ A @ B ) )
      = ( override_on @ A @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Fun_Ooverride__on_res) ).

thf(3194,plain,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ B ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ B ) ) ) ) @ ( override_on @ A @ B ) )
      = ( override_on @ A @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[572]) ).

thf(341,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) ) ) @ ( wf_cdecl @ A ) )
      = ( wf_cdecl @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_WellForm_Owf__cdecl_res) ).

thf(2349,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) ) ) @ ( wf_cdecl @ A ) )
      = ( wf_cdecl @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[341]) ).

thf(1046,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ C ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_432_exp_Osimps_I224_J) ).

thf(4867,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ C ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1046]) ).

thf(930,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ bop @ A @ ( hAPP @ A @ ( fun @ bop @ A ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ bop @ A ) ) @ ( bop_case @ A ) @ B ) @ C ) @ c_Expr_Obop_OEq )
      = ( ti @ A @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_786_bop_Osimps_I3_J) ).

thf(4444,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ bop @ A @ ( hAPP @ A @ ( fun @ bop @ A ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ bop @ A ) ) @ ( bop_case @ A ) @ B ) @ C ) @ c_Expr_Obop_OEq )
      = ( ti @ A @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[930]) ).

thf(208,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ C @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ D ) @ E ) ) )
     => ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( product_curry @ A @ B @ bool ) @ C ) @ D ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_45_curryI) ).

thf(1889,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ C @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ D ) @ E ) ) )
     => ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( product_curry @ A @ B @ bool ) @ C ) @ D ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[208]) ).

thf(1031,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_686_redp__redsp_OCondThrow) ).

thf(4814,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1031]) ).

thf(1027,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) )
     => ~ ! [F: $i] :
            ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ F ) )
           => ~ ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_478_WTrt__elim__cases_I4_J) ).

thf(4804,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) )
     => ~ ! [F: $i] :
            ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ F ) )
           => ~ ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1027]) ).

thf(189,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ D ) @ E ) @ F ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ E @ C )
          = ( none @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ D ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ E ) @ C ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ B ) ) ) @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_191_oconf__new) ).

thf(1825,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ D ) @ E ) @ F ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ E @ C )
          = ( none @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ D ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ E ) @ C ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ B ) ) ) @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[189]) ).

thf(1182,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ D ) @ A ) @ B ) @ C ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ F ) @ A ) @ B ) @ C ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_470_TryReds) ).

thf(5317,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ D ) @ A ) @ B ) @ C ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ F ) @ A ) @ B ) @ C ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1182]) ).

thf(328,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ B @ C )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ E ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ B ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ B ) @ C ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ A ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_99_hext__upd__obj) ).

thf(2304,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ B @ C )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ E ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ B ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ B ) @ C ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ A ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[328]) ).

thf(231,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ D ) @ E ) @ F ) @ G ) @ H ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ E ) @ A ) @ B ) @ C ) ) @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ G ) @ A ) @ B ) @ C ) ) @ H ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_426_redp__redsp_OTryRed) ).

thf(1974,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ D ) @ E ) @ F ) @ G ) @ H ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ E ) @ A ) @ B ) @ C ) ) @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ G ) @ A ) @ B ) @ C ) ) @ H ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[231]) ).

thf(107,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ G ) @ H ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ I ) ) @ J ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ C ) @ J ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) )
       => ( ( ( hAPP @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( option @ val ) @ binop @ ( hAPP @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( hAPP @ bop @ ( fun @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) ) @ ( product_Pair @ bop @ ( product_prod @ val @ val ) ) @ A ) @ ( hAPP @ val @ ( product_prod @ val @ val ) @ ( hAPP @ val @ ( fun @ val @ ( product_prod @ val @ val ) ) @ ( product_Pair @ val @ val ) @ I ) @ D ) ) )
            = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ B ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ G ) @ A ) @ C ) ) @ H ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_523_BinOp) ).

thf(1552,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ G ) @ H ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ I ) ) @ J ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ C ) @ J ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) )
       => ( ( ( hAPP @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( option @ val ) @ binop @ ( hAPP @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( hAPP @ bop @ ( fun @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) ) @ ( product_Pair @ bop @ ( product_prod @ val @ val ) ) @ A ) @ ( hAPP @ val @ ( product_prod @ val @ val ) @ ( hAPP @ val @ ( fun @ val @ ( product_prod @ val @ val ) ) @ ( product_Pair @ val @ val ) @ I ) @ D ) ) )
            = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ B ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ G ) @ A ) @ C ) ) @ H ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) @ E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[107]) ).

thf(375,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_802_exp_Osimps_I189_J) ).

thf(2465,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[375]) ).

thf(746,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ bop @ A @ ( hAPP @ A @ ( fun @ bop @ A ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ bop @ A ) ) @ ( bop_rec @ A ) @ B ) @ C ) @ add )
      = ( ti @ A @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_796_bop_Orecs_I2_J) ).

thf(3819,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ bop @ A @ ( hAPP @ A @ ( fun @ bop @ A ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ bop @ A ) ) @ ( bop_rec @ A ) @ B ) @ C ) @ add )
      = ( ti @ A @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[746]) ).

thf(240,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( has_field @ A ) )
      = ( has_field @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeRel_Ohas__field_res) ).

thf(2006,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( has_field @ A ) )
      = ( has_field @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[240]) ).

thf(781,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( option @ val ) @ binop @ ( hAPP @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( hAPP @ bop @ ( fun @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) ) @ ( product_Pair @ bop @ ( product_prod @ val @ val ) ) @ C ) @ ( hAPP @ val @ ( product_prod @ val @ val ) @ ( hAPP @ val @ ( fun @ val @ ( product_prod @ val @ val ) ) @ ( product_Pair @ val @ val ) @ D ) @ E ) ) )
        = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ E ) ) ) @ A ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ F ) ) @ A ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_527_red__reds_ORedBinOp) ).

thf(3937,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( option @ val ) @ binop @ ( hAPP @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( hAPP @ bop @ ( fun @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) ) @ ( product_Pair @ bop @ ( product_prod @ val @ val ) ) @ C ) @ ( hAPP @ val @ ( product_prod @ val @ val ) @ ( hAPP @ val @ ( fun @ val @ ( product_prod @ val @ val ) ) @ ( product_Pair @ val @ val ) @ D ) @ E ) ) )
        = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ E ) ) ) @ A ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ F ) ) @ A ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[781]) ).

thf(1075,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_367_exp_Osimps_I180_J) ).

thf(4953,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1075]) ).

thf(160,axiom,
    ! [A: $i,B: $i] :
      ( ( hBOOL @ ( hAPP @ ( exp @ A ) @ bool @ ( final @ A ) @ B ) )
    <=> ( ? [C: $i] :
            ( B
            = ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ C ) )
        | ? [C: $i] :
            ( B
            = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ ( hAPP @ nat @ val @ addr @ C ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_394_final__def) ).

thf(1720,plain,
    ! [A: $i,B: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( exp @ A ) @ bool @ ( final @ A ) @ B ) )
       => ( ? [C: $i] :
              ( B
              = ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ C ) )
          | ? [C: $i] :
              ( B
              = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ ( hAPP @ nat @ val @ addr @ C ) ) ) ) ) )
      & ( ( ? [C: $i] :
              ( B
              = ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ C ) )
          | ? [C: $i] :
              ( B
              = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ ( hAPP @ nat @ val @ addr @ C ) ) ) ) )
       => ( hBOOL @ ( hAPP @ ( exp @ A ) @ bool @ ( final @ A ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[160]) ).

thf(370,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ A ) @ B ) @ C ) @ D ) @ E ) )
     => ( ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ nat @ ( size_size @ ( list @ ( exp @ ( list @ char ) ) ) ) @ D )
        = ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_953_WTrts__same__length) ).

thf(2450,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ A ) @ B ) @ C ) @ D ) @ E ) )
     => ( ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ nat @ ( size_size @ ( list @ ( exp @ ( list @ char ) ) ) ) @ D )
        = ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[370]) ).

thf(649,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ B ) )
      = ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_597_rtranclp__idemp) ).

thf(3486,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ B ) )
      = ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[649]) ).

thf(700,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ti @ A @ ( hAPP @ B @ A @ C @ D ) )
      = ( hAPP @ B @ A @ C @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_hAPP_res) ).

thf(3654,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ti @ A @ ( hAPP @ B @ A @ C @ D ) )
      = ( hAPP @ B @ A @ C @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[700]) ).

thf(88,axiom,
    ! [A: $i,B: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) ) ) ) @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_574_redp__redsp_ORedThrowNull) ).

thf(1478,plain,
    ! [A: $i,B: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) ) ) ) @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[88]) ).

thf(26,axiom,
    ! [A: $i] :
      ( ( ( ti @ bop @ A )
       != c_Expr_Obop_OEq )
     => ( ( ti @ bop @ A )
        = add ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_648_bop_Oexhaust) ).

thf(1249,plain,
    ! [A: $i] :
      ( ( ( ti @ bop @ A )
       != c_Expr_Obop_OEq )
     => ( ( ti @ bop @ A )
        = add ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[26]) ).

thf(910,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_452_exp_Osimps_I98_J) ).

thf(4384,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[910]) ).

thf(393,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ D @ ( hAPP @ ( product_prod @ B @ C ) @ A @ ( hAPP @ ( fun @ B @ ( fun @ C @ A ) ) @ ( fun @ ( product_prod @ B @ C ) @ A ) @ ( product_prod_case @ B @ C @ A ) @ E ) @ F ) ) )
     => ~ ! [G: $i,H: $i] :
            ( ( ( ti @ ( product_prod @ B @ C ) @ F )
              = ( hAPP @ C @ ( product_prod @ B @ C ) @ ( hAPP @ B @ ( fun @ C @ ( product_prod @ B @ C ) ) @ ( product_Pair @ B @ C ) @ G ) @ H ) )
           => ~ ( hBOOL @ ( hAPP @ A @ bool @ D @ ( hAPP @ C @ A @ ( hAPP @ B @ ( fun @ C @ A ) @ E @ G ) @ H ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_95_splitE2) ).

thf(2536,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ D @ ( hAPP @ ( product_prod @ B @ C ) @ A @ ( hAPP @ ( fun @ B @ ( fun @ C @ A ) ) @ ( fun @ ( product_prod @ B @ C ) @ A ) @ ( product_prod_case @ B @ C @ A ) @ E ) @ F ) ) )
     => ~ ! [G: $i,H: $i] :
            ( ( ( ti @ ( product_prod @ B @ C ) @ F )
              = ( hAPP @ C @ ( product_prod @ B @ C ) @ ( hAPP @ B @ ( fun @ C @ ( product_prod @ B @ C ) ) @ ( product_Pair @ B @ C ) @ G ) @ H ) )
           => ~ ( hBOOL @ ( hAPP @ A @ bool @ D @ ( hAPP @ C @ A @ ( hAPP @ B @ ( fun @ C @ A ) @ E @ G ) @ H ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[393]) ).

thf(548,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_372_exp_Osimps_I160_J) ).

thf(3126,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[548]) ).

thf(423,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ A ) @ B ) @ C ) @ D ) )
      = ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ A ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_302_fv__fvs_Osimps_I8_J) ).

thf(2681,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ A ) @ B ) @ C ) @ D ) )
      = ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ A ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[423]) ).

thf(734,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ C ) @ D ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ C ) @ F ) ) @ G ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_318_red__reds_OFAssRed2) ).

thf(3787,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ C ) @ D ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ C ) @ F ) ) @ G ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[734]) ).

thf(100,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ val @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) ) @ D ) @ E ) )
    <=> ? [F: $i] :
          ( ( ( hAPP @ ( list @ val ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ val @ ( option @ ty ) ) @ ( fun @ ( list @ val ) @ ( list @ ( option @ ty ) ) ) @ ( map @ val @ ( option @ ty ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ C ) ) @ D )
            = ( hAPP @ ( list @ ty ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ ty @ ( option @ ty ) ) @ ( fun @ ( list @ ty ) @ ( list @ ( option @ ty ) ) ) @ ( map @ ty @ ( option @ ty ) ) @ ( some @ ty ) ) @ F ) )
          & ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) ) @ F ) @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_977_confs__conv__map) ).

thf(1530,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ val @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) ) @ D ) @ E ) )
       => ? [F: $i] :
            ( ( ( hAPP @ ( list @ val ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ val @ ( option @ ty ) ) @ ( fun @ ( list @ val ) @ ( list @ ( option @ ty ) ) ) @ ( map @ val @ ( option @ ty ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ C ) ) @ D )
              = ( hAPP @ ( list @ ty ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ ty @ ( option @ ty ) ) @ ( fun @ ( list @ ty ) @ ( list @ ( option @ ty ) ) ) @ ( map @ ty @ ( option @ ty ) ) @ ( some @ ty ) ) @ F ) )
            & ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) ) @ F ) @ E ) ) ) )
      & ( ? [F: $i] :
            ( ( ( hAPP @ ( list @ val ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ val @ ( option @ ty ) ) @ ( fun @ ( list @ val ) @ ( list @ ( option @ ty ) ) ) @ ( map @ val @ ( option @ ty ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ C ) ) @ D )
              = ( hAPP @ ( list @ ty ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ ty @ ( option @ ty ) ) @ ( fun @ ( list @ ty ) @ ( list @ ( option @ ty ) ) ) @ ( map @ ty @ ( option @ ty ) ) @ ( some @ ty ) ) @ F ) )
            & ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) ) @ F ) @ E ) ) )
       => ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ val @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) ) @ D ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[100]) ).

thf(32,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( fun @ ( list @ A ) @ ( list @ C ) ) @ ( hAPP @ ( fun @ ( list @ B ) @ ( list @ C ) ) @ ( fun @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( fun @ ( list @ A ) @ ( list @ C ) ) ) @ ( comp @ ( list @ B ) @ ( list @ C ) @ ( list @ A ) ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( list @ B ) @ ( list @ C ) ) @ ( map @ B @ C ) @ D ) ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ E ) )
      = ( hAPP @ ( fun @ A @ C ) @ ( fun @ ( list @ A ) @ ( list @ C ) ) @ ( map @ A @ C ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ C ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ C ) ) @ ( comp @ B @ C @ A ) @ D ) @ E ) ) ),
    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] :
      ( ( hAPP @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( fun @ ( list @ A ) @ ( list @ C ) ) @ ( hAPP @ ( fun @ ( list @ B ) @ ( list @ C ) ) @ ( fun @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( fun @ ( list @ A ) @ ( list @ C ) ) ) @ ( comp @ ( list @ B ) @ ( list @ C ) @ ( list @ A ) ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( list @ B ) @ ( list @ C ) ) @ ( map @ B @ C ) @ D ) ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ E ) )
      = ( hAPP @ ( fun @ A @ C ) @ ( fun @ ( list @ A ) @ ( list @ C ) ) @ ( map @ A @ C ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ C ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ C ) ) @ ( comp @ B @ C @ A ) @ D ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[32]) ).

thf(816,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ bool ) ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ B ) @ C ) )
     => ( hBOOL @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ bool ) ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ B ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_590_rtranclp__mono) ).

thf(4068,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ bool ) ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ B ) @ C ) )
     => ( hBOOL @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ bool ) ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ B ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[816]) ).

thf(493,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( sees_field @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_780_sees__field__decl__above) ).

thf(2900,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( sees_field @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ B ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[493]) ).

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(865,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) @ E )
        = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) )
     => ( ( ( hAPP @ A @ ( option @ B ) @ D @ E )
          = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) )
        | ( ( ( hAPP @ A @ ( option @ B ) @ D @ E )
            = ( none @ B ) )
          & ( ( hAPP @ A @ ( option @ B ) @ C @ E )
            = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_155_map__add__SomeD) ).

thf(4244,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) @ E )
        = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) )
     => ( ( ( hAPP @ A @ ( option @ B ) @ D @ E )
          = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) )
        | ( ( ( hAPP @ A @ ( option @ B ) @ D @ E )
            = ( none @ B ) )
          & ( ( hAPP @ A @ ( option @ B ) @ C @ E )
            = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[865]) ).

thf(937,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ I )
        = ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ J ) )
     => ( ( ( hAPP @ ( list @ val ) @ nat @ ( size_size @ ( list @ val ) ) @ H )
          = ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ J ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ ( list @ char ) ) @ bool @ ( distinct @ ( list @ char ) ) @ I ) )
         => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( map_upds @ ( list @ char ) @ val ) @ C ) @ I ) @ H ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ F ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
           => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ I ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ J ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ H ) @ A ) ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ C ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ I ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ J ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( list @ val ) @ ( hAPP @ ( fun @ ( list @ char ) @ val ) @ ( fun @ ( list @ ( list @ char ) ) @ ( list @ val ) ) @ ( map @ ( list @ char ) @ val ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ val ) @ ( hAPP @ ( fun @ ( option @ val ) @ val ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ val ) ) @ ( comp @ ( option @ val ) @ val @ ( list @ char ) ) @ ( the @ val ) ) @ F ) ) @ I ) ) @ D ) ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( override_on @ ( list @ char ) @ ( option @ val ) ) @ F ) @ C ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( set @ ( list @ char ) ) @ I ) ) ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_988_blocksReds) ).

thf(4482,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ I )
        = ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ J ) )
     => ( ( ( hAPP @ ( list @ val ) @ nat @ ( size_size @ ( list @ val ) ) @ H )
          = ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ J ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ ( list @ char ) ) @ bool @ ( distinct @ ( list @ char ) ) @ I ) )
         => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( map_upds @ ( list @ char ) @ val ) @ C ) @ I ) @ H ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ F ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
           => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ I ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ J ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ H ) @ A ) ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ C ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ I ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ J ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( list @ val ) @ ( hAPP @ ( fun @ ( list @ char ) @ val ) @ ( fun @ ( list @ ( list @ char ) ) @ ( list @ val ) ) @ ( map @ ( list @ char ) @ val ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ val ) @ ( hAPP @ ( fun @ ( option @ val ) @ val ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ val ) ) @ ( comp @ ( option @ val ) @ val @ ( list @ char ) ) @ ( the @ val ) ) @ F ) ) @ I ) ) @ D ) ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( override_on @ ( list @ char ) @ ( option @ val ) ) @ F ) @ C ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( set @ ( list @ char ) ) @ I ) ) ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[937]) ).

thf(5,axiom,
    ! [A: $i] :
      ( ( ti @ ( option @ A ) @ ( none @ A ) )
      = ( none @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Option_Ooption_ONone_res) ).

thf(1192,plain,
    ! [A: $i] :
      ( ( ti @ ( option @ A ) @ ( none @ A ) )
      = ( none @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[5]) ).

thf(861,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ B ) )
      = ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_926_trancl__rtrancl__absorb) ).

thf(4231,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ B ) )
      = ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[861]) ).

thf(897,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_124_exp_Osimps_I197_J) ).

thf(4347,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[897]) ).

thf(449,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ C ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ E ) ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_485_redp__redsp_OCastRed) ).

thf(2766,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ C ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ E ) ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[449]) ).

thf(711,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ C ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ E ) )
      = ( hAPP @ ( list @ B ) @ ( list @ B ) @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ B ) @ ( list @ B ) ) @ ( append @ B ) @ ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ C ) @ D ) ) @ ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ C ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_788_map__append) ).

thf(3692,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ C ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ E ) )
      = ( hAPP @ ( list @ B ) @ ( list @ B ) @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ B ) @ ( list @ B ) ) @ ( append @ B ) @ ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ C ) @ D ) ) @ ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ C ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[711]) ).

thf(25,axiom,
    ! [A: $i] :
      ( ( ti @ A @ ( undefined @ A ) )
      = ( undefined @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_HOL_Oundefined_res) ).

thf(1246,plain,
    ! [A: $i] :
      ( ( ti @ A @ ( undefined @ A ) )
      = ( undefined @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[25]) ).

thf(774,axiom,
    ord @ bool,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_HOL_Obool___Orderings_Oord) ).

thf(3920,plain,
    ord @ bool,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[774]) ).

thf(318,axiom,
    ( ( ti @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ty ) @ obj_ty )
    = obj_ty ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Objects_Oobj__ty_res) ).

thf(2272,plain,
    ( ( ti @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ty ) @ obj_ty )
    = obj_ty ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[318]) ).

thf(575,axiom,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ ( fun @ B @ ( fun @ A @ B ) ) ) ) @ ( fun_upd @ A @ B ) )
      = ( fun_upd @ A @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Fun_Ofun__upd_res) ).

thf(3201,plain,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ ( fun @ B @ ( fun @ A @ B ) ) ) ) @ ( fun_upd @ A @ B ) )
      = ( fun_upd @ A @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[575]) ).

thf(859,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts @ A ) @ B ) @ C ) @ D ) @ E ) )
    <=> ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ A ) @ B ) @ C ) @ D ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_971_wts_H__iff__wts) ).

thf(4223,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts @ A ) @ B ) @ C ) @ D ) @ E ) )
       => ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ A ) @ B ) @ C ) @ D ) @ E ) ) )
      & ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ A ) @ B ) @ C ) @ D ) @ E ) )
       => ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts @ A ) @ B ) @ C ) @ D ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[859]) ).

thf(65,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) ) @ ( hconf @ A ) )
      = ( hconf @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Conform_Ohconf_res) ).

thf(1393,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) ) @ ( hconf @ A ) )
      = ( hconf @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[65]) ).

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] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ I ) @ J )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ K ) @ L ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ B ) @ K ) @ C ) @ D ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ F ) @ G ) ) @ H ) )
       => ( ( ( hAPP @ ( list @ val ) @ nat @ ( size_size @ ( list @ val ) ) @ A )
            = ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ F ) )
         => ( ( ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ D )
              = ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ F ) )
           => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ J ) ) ) @ C ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ A ) ) ) @ I ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( list @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( list @ char ) ) @ ( list @ ( list @ char ) ) ) @ ( cons @ ( list @ char ) ) @ this ) @ F ) ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( list @ ty ) @ ( hAPP @ ty @ ( fun @ ( list @ ty ) @ ( list @ ty ) ) @ ( cons @ ty ) @ ( hAPP @ ( list @ char ) @ ty @ class @ H ) ) @ D ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( list @ val ) @ ( hAPP @ val @ ( fun @ ( list @ val ) @ ( list @ val ) ) @ ( cons @ val ) @ ( hAPP @ nat @ val @ addr @ J ) ) @ A ) ) @ G ) ) ) ) ) @ I ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ B ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_951_red__reds_ORedCall) ).

thf(2370,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] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ I ) @ J )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ K ) @ L ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ B ) @ K ) @ C ) @ D ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ F ) @ G ) ) @ H ) )
       => ( ( ( hAPP @ ( list @ val ) @ nat @ ( size_size @ ( list @ val ) ) @ A )
            = ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ F ) )
         => ( ( ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ D )
              = ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ F ) )
           => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ J ) ) ) @ C ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ A ) ) ) @ I ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( list @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( list @ char ) ) @ ( list @ ( list @ char ) ) ) @ ( cons @ ( list @ char ) ) @ this ) @ F ) ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( list @ ty ) @ ( hAPP @ ty @ ( fun @ ( list @ ty ) @ ( list @ ty ) ) @ ( cons @ ty ) @ ( hAPP @ ( list @ char ) @ ty @ class @ H ) ) @ D ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( list @ val ) @ ( hAPP @ val @ ( fun @ ( list @ val ) @ ( list @ val ) ) @ ( cons @ val ) @ ( hAPP @ nat @ val @ addr @ J ) ) @ A ) ) @ G ) ) ) ) ) @ I ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ B ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[349]) ).

thf(579,axiom,
    ! [A: $i] :
      ( ( hAPP @ ( list @ char ) @ ty @ class @ A )
     != void ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_604_ty_Osimps_I9_J) ).

thf(3215,plain,
    ! [A: $i] :
      ( ( hAPP @ ( list @ char ) @ ty @ class @ A )
     != void ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[579]) ).

thf(1160,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ B ) @ C ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ B ) )
       => ( ( ti @ ( fun @ A @ bool ) @ B )
          = ( ti @ ( fun @ A @ bool ) @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_174_equalityI) ).

thf(5245,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ B ) @ C ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ B ) )
       => ( ( ti @ ( fun @ A @ bool ) @ B )
          = ( ti @ ( fun @ A @ bool ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1160]) ).

thf(45,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) ) @ ( fAcc @ A ) )
      = ( fAcc @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OFAcc_res) ).

thf(1318,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) ) @ ( fAcc @ A ) )
      = ( fAcc @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[45]) ).

thf(251,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_639_exp_Osimps_I164_J) ).

thf(2043,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[251]) ).

thf(446,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
        = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ D ) @ E ) )
    <=> ( ( B = D )
        & ( C = E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_642_exp_Osimps_I13_J) ).

thf(2748,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
          = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ D ) @ E ) )
       => ( ( B = D )
          & ( C = E ) ) )
      & ( ( ( B = D )
          & ( C = E ) )
       => ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
          = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ D ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[446]) ).

thf(83,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ H ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ I ) @ D ) @ A ) @ C ) @ B ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) @ D ) )
         => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) @ G ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_27_red__preserves__hconf) ).

thf(1466,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ H ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ I ) @ D ) @ A ) @ C ) @ B ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) @ D ) )
         => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) @ G ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[83]) ).

thf(653,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ A ) @ nat ) @ ( size_size @ ( list @ A ) ) )
      = ( size_size @ ( list @ A ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Nat_Osize__class_Osize_res) ).

thf(3508,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ A ) @ nat ) @ ( size_size @ ( list @ A ) ) )
      = ( size_size @ ( list @ A ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[653]) ).

thf(967,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ A @ B @ C @ ( ti @ A @ D ) )
      = ( hAPP @ A @ B @ C @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_hAPP_arg2) ).

thf(4572,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ A @ B @ C @ ( ti @ A @ D ) )
      = ( hAPP @ A @ B @ C @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[967]) ).

thf(960,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( exp @ A ) ) @ bool ) @ ( finals @ A ) )
      = ( finals @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_BigStep_Ofinals_res) ).

thf(4550,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( exp @ A ) ) @ bool ) @ ( finals @ A ) )
      = ( finals @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[960]) ).

thf(1140,axiom,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) ) @ eval )
    = eval ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_BigStep_Oeval_res) ).

thf(5170,plain,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) ) @ eval )
    = eval ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1140]) ).

thf(844,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ C ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ E ) ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_841_red__reds_OCallParams) ).

thf(4163,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ C ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ E ) ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[844]) ).

thf(556,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_350_redp__redsp_OFAccThrow) ).

thf(3147,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[556]) ).

thf(726,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ bool @ val @ bool_1 @ A )
     != ( hAPP @ nat @ val @ addr @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_612_val_Osimps_I20_J) ).

thf(3755,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ bool @ val @ bool_1 @ A )
     != ( hAPP @ nat @ val @ addr @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[726]) ).

thf(954,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( member @ ( list @ char ) ) @ D ) @ sys_xcpts ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ C ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_623_is__class__xcpt) ).

thf(4535,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( member @ ( list @ char ) ) @ D ) @ sys_xcpts ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ C ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[954]) ).

thf(839,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ ( hAPP @ ( list @ char ) @ ty @ class @ C ) ) @ ( hAPP @ ( list @ char ) @ ty @ class @ D ) ) )
    <=> ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_512_Class__widen__Class) ).

thf(4148,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ ( hAPP @ ( list @ char ) @ ty @ class @ C ) ) @ ( hAPP @ ( list @ char ) @ ty @ class @ D ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ B ) ) ) ) )
      & ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ B ) ) ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ ( hAPP @ ( list @ char ) @ ty @ class @ C ) ) @ ( hAPP @ ( list @ char ) @ ty @ class @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[839]) ).

thf(771,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fTrue ) ) ) @ H ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ H ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ F ) @ C ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ B ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ F ) @ C ) ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ B ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_656_WhileTReds) ).

thf(3903,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fTrue ) ) ) @ H ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ H ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ F ) @ C ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ B ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ F ) @ C ) ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ B ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[771]) ).

thf(739,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ D ) @ E ) @ F ) @ G ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ D ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ F ) ) @ G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_456_redp__redsp_OBinOpRed2) ).

thf(3802,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ D ) @ E ) @ F ) @ G ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ D ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ F ) ) @ G ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[739]) ).

thf(1136,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ val @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) ) @ D ) @ ( hAPP @ ( list @ ty ) @ ( list @ ty ) @ ( hAPP @ ty @ ( fun @ ( list @ ty ) @ ( list @ ty ) ) @ ( cons @ ty ) @ E ) @ F ) ) )
    <=> ? [G: $i,H: $i] :
          ( ( D
            = ( hAPP @ ( list @ val ) @ ( list @ val ) @ ( hAPP @ val @ ( fun @ ( list @ val ) @ ( list @ val ) ) @ ( cons @ val ) @ G ) @ H ) )
          & ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ G ) @ E ) )
          & ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ val @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) ) @ H ) @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_978_confs__Cons2) ).

thf(5153,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ val @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) ) @ D ) @ ( hAPP @ ( list @ ty ) @ ( list @ ty ) @ ( hAPP @ ty @ ( fun @ ( list @ ty ) @ ( list @ ty ) ) @ ( cons @ ty ) @ E ) @ F ) ) )
       => ? [G: $i,H: $i] :
            ( ( D
              = ( hAPP @ ( list @ val ) @ ( list @ val ) @ ( hAPP @ val @ ( fun @ ( list @ val ) @ ( list @ val ) ) @ ( cons @ val ) @ G ) @ H ) )
            & ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ G ) @ E ) )
            & ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ val @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) ) @ H ) @ F ) ) ) )
      & ( ? [G: $i,H: $i] :
            ( ( D
              = ( hAPP @ ( list @ val ) @ ( list @ val ) @ ( hAPP @ val @ ( fun @ ( list @ val ) @ ( list @ val ) ) @ ( cons @ val ) @ G ) @ H ) )
            & ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ G ) @ E ) )
            & ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ val @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) ) @ H ) @ F ) ) )
       => ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ val @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) ) @ D ) @ ( hAPP @ ( list @ ty ) @ ( list @ ty ) @ ( hAPP @ ty @ ( fun @ ( list @ ty ) @ ( list @ ty ) ) @ ( cons @ ty ) @ E ) @ F ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1136]) ).

thf(877,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ D ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_492_exp_Osimps_I60_J) ).

thf(4288,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ D ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[877]) ).

thf(670,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ B ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) ) ) ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_577_redp__redsp_ORedFAssNull) ).

thf(3563,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ B ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) ) ) ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[670]) ).

thf(965,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ A ) @ B ) )
      = ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ A ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_270_fv__fvs_Osimps_I11_J) ).

thf(4567,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ A ) @ B ) )
      = ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ A ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[965]) ).

thf(1021,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ B ) @ A ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ D ) @ A ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_80_red__reds_OSeqRed) ).

thf(4782,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ B ) @ A ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ D ) @ A ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1021]) ).

thf(821,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hAPP @ ( list @ char ) @ ( option @ ty ) @ E @ F )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ E ) @ C ) @ D ) )
       => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) @ D ) @ G ) )
         => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ F ) @ C ) ) @ void ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_128_WTrtLAss) ).

thf(4081,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hAPP @ ( list @ char ) @ ( option @ ty ) @ E @ F )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ E ) @ C ) @ D ) )
       => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) @ D ) @ G ) )
         => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ F ) @ C ) ) @ void ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[821]) ).

thf(513,axiom,
    hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ p ) @ ha ) @ e ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ v_1 ) @ t_1 ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ v_1 ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ v ) ) ) @ ea ) ) ) @ t ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_39_InitBlockRed_I5_J) ).

thf(2963,plain,
    hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ p ) @ ha ) @ e ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ v_1 ) @ t_1 ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ v_1 ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ v ) ) ) @ ea ) ) ) @ t ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[513]) ).

thf(348,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ B ) @ C ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ D ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_694_red__reds_OCondThrow) ).

thf(2368,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ B ) @ C ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ D ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[348]) ).

thf(3,axiom,
    ( ( ti @ bool @ fFalse )
    = fFalse ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fFalse_res) ).

thf(1187,plain,
    ( ( ti @ bool @ fFalse )
    = fFalse ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[3]) ).

thf(695,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ E ) @ F )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ G ) @ H ) ) )
     => ( ( ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) @ H @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ C ) )
          = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) @ B ) @ C ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ A ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_337_red__reds_ORedFAcc) ).

thf(3639,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ E ) @ F )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ G ) @ H ) ) )
     => ( ( ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) @ H @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ C ) )
          = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) @ B ) @ C ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ A ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[695]) ).

thf(498,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ C ) @ A ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ E ) @ A ) ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_143_redp__redsp_OSeqRed) ).

thf(2915,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ C ) @ A ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ E ) @ A ) ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[498]) ).

thf(457,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ G ) @ F )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ B ) @ C ) ) )
       => ( ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ A ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ H ) ) ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ D ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ classCast ) ) ) ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_522_CastRedsFail) ).

thf(2793,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ G ) @ F )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ B ) @ C ) ) )
       => ( ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ A ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ H ) ) ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ D ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ classCast ) ) ) ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[457]) ).

thf(262,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_816_exp_Osimps_I102_J) ).

thf(2089,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[262]) ).

thf(570,axiom,
    ( ( ti @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ha )
    = ha ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_ha_____res) ).

thf(3190,plain,
    ( ( ti @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ha )
    = ha ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[570]) ).

thf(292,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ B ) @ C ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ B ) @ C ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_700_redp__redsp_ORedWhile) ).

thf(2189,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ B ) @ C ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ B ) @ C ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[292]) ).

thf(131,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_939_trancl__rtrancl__trancl) ).

thf(1616,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[131]) ).

thf(632,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ A ) @ B ) @ C ) @ D ) @ E ) )
    <=> ! [F: $i,G: $i] :
          ( ( ( hAPP @ ( list @ char ) @ ( option @ val ) @ D @ F )
            = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ G ) )
         => ? [H: $i] :
              ( ( ( hAPP @ ( list @ char ) @ ( option @ ty ) @ E @ F )
                = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ H ) )
              & ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ G ) @ H ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_90_lconf__def) ).

thf(3422,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ A ) @ B ) @ C ) @ D ) @ E ) )
       => ! [F: $i,G: $i] :
            ( ( ( hAPP @ ( list @ char ) @ ( option @ val ) @ D @ F )
              = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ G ) )
           => ? [H: $i] :
                ( ( ( hAPP @ ( list @ char ) @ ( option @ ty ) @ E @ F )
                  = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ H ) )
                & ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ G ) @ H ) ) ) ) )
      & ( ! [F: $i,G: $i] :
            ( ( ( hAPP @ ( list @ char ) @ ( option @ val ) @ D @ F )
              = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ G ) )
           => ? [H: $i] :
                ( ( ( hAPP @ ( list @ char ) @ ( option @ ty ) @ E @ F )
                  = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ H ) )
                & ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ G ) @ H ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ A ) @ B ) @ C ) @ D ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[632]) ).

thf(753,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( ti @ ( product_prod @ B @ C ) @ E )
        = ( ti @ ( product_prod @ B @ C ) @ F ) )
     => ( ( hAPP @ ( product_prod @ B @ C ) @ A @ ( hAPP @ ( fun @ B @ ( fun @ C @ A ) ) @ ( fun @ ( product_prod @ B @ C ) @ A ) @ ( product_prod_case @ B @ C @ A ) @ D ) @ E )
        = ( hAPP @ ( product_prod @ B @ C ) @ A @ ( hAPP @ ( fun @ B @ ( fun @ C @ A ) ) @ ( fun @ ( product_prod @ B @ C ) @ A ) @ ( product_prod_case @ B @ C @ A ) @ D ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_55_split__weak__cong) ).

thf(3841,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( ti @ ( product_prod @ B @ C ) @ E )
        = ( ti @ ( product_prod @ B @ C ) @ F ) )
     => ( ( hAPP @ ( product_prod @ B @ C ) @ A @ ( hAPP @ ( fun @ B @ ( fun @ C @ A ) ) @ ( fun @ ( product_prod @ B @ C ) @ A ) @ ( product_prod_case @ B @ C @ A ) @ D ) @ E )
        = ( hAPP @ ( product_prod @ B @ C ) @ A @ ( hAPP @ ( fun @ B @ ( fun @ C @ A ) ) @ ( fun @ ( product_prod @ B @ C ) @ A ) @ ( product_prod_case @ B @ C @ A ) @ D ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[753]) ).

thf(410,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( product_prod @ A @ B ) @ C @ ( hAPP @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( product_prod_case @ A @ B @ C ) @ D ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ E ) @ F ) )
      = ( hAPP @ B @ C @ ( hAPP @ A @ ( fun @ B @ C ) @ D @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_73_split__conv) ).

thf(2617,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( product_prod @ A @ B ) @ C @ ( hAPP @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( product_prod_case @ A @ B @ C ) @ D ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ E ) @ F ) )
      = ( hAPP @ B @ C @ ( hAPP @ A @ ( fun @ B @ C ) @ D @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[410]) ).

thf(1129,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ F ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ D ) @ A ) @ B ) @ C ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ F ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_475_TryRedsVal) ).

thf(5126,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ F ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ D ) @ A ) @ B ) @ C ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ F ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1129]) ).

thf(417,axiom,
    ! [A: $i,B: $i] :
      ( ~ ( hBOOL @ B )
      | ( hBOOL @ ( hAPP @ bool @ bool @ ( hAPP @ bool @ ( fun @ bool @ bool ) @ fdisj @ A ) @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fdisj_2_1_U) ).

thf(2662,plain,
    ! [A: $i,B: $i] :
      ( ~ ( hBOOL @ B )
      | ( hBOOL @ ( hAPP @ bool @ bool @ ( hAPP @ bool @ ( fun @ bool @ bool ) @ fdisj @ A ) @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[417]) ).

thf(707,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ F ) @ G ) @ H ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_679_exp_Osimps_I176_J) ).

thf(3675,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ F ) @ G ) @ H ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[707]) ).

thf(883,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ D ) @ E ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ F ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ G ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ I ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ E ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ E ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ F ) ) ) @ B ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ E ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ E ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ ( option @ val ) @ val @ ( the @ val ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ I @ E ) ) ) ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ I ) @ E ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ D @ E ) ) ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_167_InitBlockReds) ).

thf(4308,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ D ) @ E ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ F ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ G ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ I ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ E ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ E ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ F ) ) ) @ B ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ E ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ E ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ ( option @ val ) @ val @ ( the @ val ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ I @ E ) ) ) ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ I ) @ E ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ D @ E ) ) ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[883]) ).

thf(364,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ? [E: $i] :
          ( C
          = ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ D ) @ E ) )
    <=> ! [E: $i] :
          ( ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ E ) @ ( hAPP @ ( list @ B ) @ ( fun @ B @ bool ) @ ( set @ B ) @ C ) ) )
         => ? [F: $i] :
              ( ( ti @ B @ E )
              = ( hAPP @ A @ B @ D @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_903_ex__map__conv) ).

thf(2423,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ? [E: $i] :
            ( C
            = ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ D ) @ E ) )
       => ! [E: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ E ) @ ( hAPP @ ( list @ B ) @ ( fun @ B @ bool ) @ ( set @ B ) @ C ) ) )
           => ? [F: $i] :
                ( ( ti @ B @ E )
                = ( hAPP @ A @ B @ D @ F ) ) ) )
      & ( ! [E: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ E ) @ ( hAPP @ ( list @ B ) @ ( fun @ B @ bool ) @ ( set @ B ) @ C ) ) )
           => ? [F: $i] :
                ( ( ti @ B @ E )
                = ( hAPP @ A @ B @ D @ F ) ) )
       => ? [E: $i] :
            ( C
            = ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ D ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[364]) ).

thf(389,axiom,
    linorder @ nat,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_Nat_Onat___Orderings_Olinorder) ).

thf(2529,plain,
    linorder @ nat,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[389]) ).

thf(1007,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ C ) @ D ) )
    <=> ( ? [E: $i] :
            ( ( C = E )
            & ( D = E ) )
        | ? [E: $i,F: $i] :
            ( ( C
              = ( hAPP @ ( list @ char ) @ ty @ class @ E ) )
            & ( D
              = ( hAPP @ ( list @ char ) @ ty @ class @ F ) )
            & ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ E ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ B ) ) ) ) )
        | ? [E: $i] :
            ( ( C = nt )
            & ( D
              = ( hAPP @ ( list @ char ) @ ty @ class @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_720_widen_Osimps) ).

thf(4708,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ C ) @ D ) )
       => ( ? [E: $i] :
              ( ( C = E )
              & ( D = E ) )
          | ? [E: $i,F: $i] :
              ( ( C
                = ( hAPP @ ( list @ char ) @ ty @ class @ E ) )
              & ( D
                = ( hAPP @ ( list @ char ) @ ty @ class @ F ) )
              & ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ E ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ B ) ) ) ) )
          | ? [E: $i] :
              ( ( C = nt )
              & ( D
                = ( hAPP @ ( list @ char ) @ ty @ class @ E ) ) ) ) )
      & ( ( ? [E: $i] :
              ( ( C = E )
              & ( D = E ) )
          | ? [E: $i,F: $i] :
              ( ( C
                = ( hAPP @ ( list @ char ) @ ty @ class @ E ) )
              & ( D
                = ( hAPP @ ( list @ char ) @ ty @ class @ F ) )
              & ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ E ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ B ) ) ) ) )
          | ? [E: $i] :
              ( ( C = nt )
              & ( D
                = ( hAPP @ ( list @ char ) @ ty @ class @ E ) ) ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ C ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1007]) ).

thf(936,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ C ) @ ( hAPP @ ( list @ char ) @ ty @ class @ D ) ) )
    <=> ( ( C = nt )
        | ? [E: $i] :
            ( ( C
              = ( hAPP @ ( list @ char ) @ ty @ class @ E ) )
            & ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ E ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ B ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_705_widen__Class) ).

thf(4470,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ C ) @ ( hAPP @ ( list @ char ) @ ty @ class @ D ) ) )
       => ( ( C = nt )
          | ? [E: $i] :
              ( ( C
                = ( hAPP @ ( list @ char ) @ ty @ class @ E ) )
              & ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ E ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ B ) ) ) ) ) ) )
      & ( ( ( C = nt )
          | ? [E: $i] :
              ( ( C
                = ( hAPP @ ( list @ char ) @ ty @ class @ E ) )
              & ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ E ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ B ) ) ) ) ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ C ) @ ( hAPP @ ( list @ char ) @ ty @ class @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[936]) ).

thf(151,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) ) @ ( fields @ A ) )
      = ( fields @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeRel_OFields_res) ).

thf(1680,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) ) @ ( fields @ A ) )
      = ( fields @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[151]) ).

thf(397,axiom,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i,D: $i] :
          ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ D ) )
         => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ D ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_331_le__supI2) ).

thf(2556,plain,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i,D: $i] :
          ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ D ) )
         => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[397]) ).

thf(434,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ E ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_944_r__r__into__trancl) ).

thf(2717,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ E ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[434]) ).

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] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ U ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ Q ) @ R ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ S ) ) ) @ T ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ U ) ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ M ) @ T ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ N ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ O ) @ P ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ U ) ) ) )
         => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ O @ S )
              = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ K ) @ L ) ) )
           => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ U ) @ K ) @ E ) @ F ) @ G ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ H ) @ I ) ) @ J ) )
             => ( ( ( hAPP @ ( list @ val ) @ nat @ ( size_size @ ( list @ val ) ) @ N )
                  = ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ H ) )
               => ( ( D
                    = ( hAPP @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( map_upds @ ( list @ char ) @ val ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( combk @ ( option @ val ) @ ( list @ char ) ) @ ( none @ val ) ) ) @ this ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ ( hAPP @ nat @ val @ addr @ S ) ) ) ) @ H ) @ N ) )
                 => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ I ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ O ) @ D ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ C ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ U ) ) ) )
                   => ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ A ) )
                     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ Q ) @ E ) @ M ) ) @ R ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ P ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ U ) ) ) ) ) ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_919_CallRedsFinal) ).

thf(1927,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] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ U ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ Q ) @ R ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ S ) ) ) @ T ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ U ) ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ M ) @ T ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ N ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ O ) @ P ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ U ) ) ) )
         => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ O @ S )
              = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ K ) @ L ) ) )
           => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ U ) @ K ) @ E ) @ F ) @ G ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ H ) @ I ) ) @ J ) )
             => ( ( ( hAPP @ ( list @ val ) @ nat @ ( size_size @ ( list @ val ) ) @ N )
                  = ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ H ) )
               => ( ( D
                    = ( hAPP @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( map_upds @ ( list @ char ) @ val ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( combk @ ( option @ val ) @ ( list @ char ) ) @ ( none @ val ) ) ) @ this ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ ( hAPP @ nat @ val @ addr @ S ) ) ) ) @ H ) @ N ) )
                 => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ I ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ O ) @ D ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ C ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ U ) ) ) )
                   => ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ A ) )
                     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ Q ) @ E ) @ M ) ) @ R ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ P ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ U ) ) ) ) ) ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[219]) ).

thf(994,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod_case @ A @ B @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ ( combb @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) @ A ) @ ( hAPP @ ( fun @ bool @ bool ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) @ ( combb @ bool @ bool @ B ) @ ( hAPP @ bool @ ( fun @ bool @ bool ) @ fconj @ C ) ) ) @ D ) ) @ E ) )
    <=> ( ( hBOOL @ C )
        & ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod_case @ A @ B @ bool ) @ D ) @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_62_split__part) ).

thf(4657,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod_case @ A @ B @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ ( combb @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) @ A ) @ ( hAPP @ ( fun @ bool @ bool ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) @ ( combb @ bool @ bool @ B ) @ ( hAPP @ bool @ ( fun @ bool @ bool ) @ fconj @ C ) ) ) @ D ) ) @ E ) )
       => ( ( hBOOL @ C )
          & ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod_case @ A @ B @ bool ) @ D ) @ E ) ) ) )
      & ( ( ( hBOOL @ C )
          & ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod_case @ A @ B @ bool ) @ D ) @ E ) ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod_case @ A @ B @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ ( combb @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) @ A ) @ ( hAPP @ ( fun @ bool @ bool ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ bool ) ) @ ( combb @ bool @ bool @ B ) @ ( hAPP @ bool @ ( fun @ bool @ bool ) @ fconj @ C ) ) ) @ D ) ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[994]) ).

thf(585,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( ( ti @ B @ F )
          = ( ti @ B @ E ) )
       => ( ( hAPP @ B @ A @ ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ E ) @ D ) @ F )
          = ( ti @ A @ D ) ) )
      & ( ( ( ti @ B @ F )
         != ( ti @ B @ E ) )
       => ( ( hAPP @ B @ A @ ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ E ) @ D ) @ F )
          = ( hAPP @ B @ A @ C @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_18_fun__upd__def) ).

thf(3262,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( ( ti @ B @ F )
          = ( ti @ B @ E ) )
       => ( ( hAPP @ B @ A @ ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ E ) @ D ) @ F )
          = ( ti @ A @ D ) ) )
      & ( ( ( ti @ B @ F )
         != ( ti @ B @ E ) )
       => ( ( hAPP @ B @ A @ ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ E ) @ D ) @ F )
          = ( hAPP @ B @ A @ C @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[585]) ).

thf(593,axiom,
    ! [A: $i,B: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ B ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ B ) @ A ) )
       => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ A ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_516_preallocated__hext) ).

thf(3289,plain,
    ! [A: $i,B: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ B ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ B ) @ A ) )
       => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ A ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[593]) ).

thf(313,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ D ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ G ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ D ) @ A ) @ B ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_351_eval__evals_OFAccThrow) ).

thf(2260,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ D ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ G ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ D ) @ A ) @ B ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ G ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[313]) ).

thf(271,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wf_J_mdecl ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) @ B ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) @ C ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) @ D ) @ E ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( set @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ F ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) @ A ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) @ ( set @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) @ E ) ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) @ wf_J_mdecl @ F ) @ B ) @ A ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_898_wf__J__prog__wf__J__mdecl) ).

thf(2121,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wf_J_mdecl ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) @ B ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) @ C ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) @ D ) @ E ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( set @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ F ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) @ A ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) @ ( set @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) @ E ) ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) @ wf_J_mdecl @ F ) @ B ) @ A ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[271]) ).

thf(306,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod @ A @ B ) @ ( the_1 @ ( product_prod @ A @ B ) ) @ C )
      = ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod @ A @ B ) @ ( the_1 @ ( product_prod @ A @ B ) ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod_case @ A @ B @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ ( combb @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ bool ) @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ bool ) ) @ ( combb @ ( product_prod @ A @ B ) @ bool @ B ) @ C ) ) @ ( product_Pair @ A @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_893_split__paired__The) ).

thf(2235,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod @ A @ B ) @ ( the_1 @ ( product_prod @ A @ B ) ) @ C )
      = ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod @ A @ B ) @ ( the_1 @ ( product_prod @ A @ B ) ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod_case @ A @ B @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ ( combb @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ bool ) @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ bool ) ) @ ( combb @ ( product_prod @ A @ B ) @ bool @ B ) @ C ) ) @ ( product_Pair @ A @ B ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[306]) ).

thf(439,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_371_exp_Osimps_I137_J) ).

thf(2729,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[439]) ).

thf(142,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ D ) @ ( hAPP @ B @ A @ C @ D ) )
      = ( ti @ ( fun @ B @ A ) @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_2_fun__upd__triv) ).

thf(1648,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ D ) @ ( hAPP @ B @ A @ C @ D ) )
      = ( ti @ ( fun @ B @ A ) @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[142]) ).

thf(171,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fTrue ) ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ F ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ D ) @ A ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_657_WhileTRedsThrow) ).

thf(1764,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fTrue ) ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ F ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ D ) @ A ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[171]) ).

thf(1063,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ B )
        = ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ C ) )
    <=> ( ( ti @ A @ B )
        = ( ti @ A @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_44_option_Oinject) ).

thf(4919,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ B )
          = ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ C ) )
       => ( ( ti @ A @ B )
          = ( ti @ A @ C ) ) )
      & ( ( ( ti @ A @ B )
          = ( ti @ A @ C ) )
       => ( ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ B )
          = ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1063]) ).

thf(549,axiom,
    ( ( ti @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ hp )
    = hp ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_State_Ohp_res) ).

thf(3130,plain,
    ( ( ti @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ hp )
    = hp ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[549]) ).

thf(651,axiom,
    hBOOL @ fTrue,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fTrue_1_1_U) ).

thf(3491,plain,
    hBOOL @ fTrue,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[651]) ).

thf(90,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ E ) @ F ) @ G ) @ H ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_670_exp_Osimps_I218_J) ).

thf(1483,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ E ) @ F ) @ G ) @ H ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[90]) ).

thf(34,axiom,
    ~ ( hBOOL @ fFalse ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fFalse_1_1_U) ).

thf(1273,plain,
    ~ ( hBOOL @ fFalse ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[34]) ).

thf(1156,axiom,
    semilattice_sup @ bool,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_HOL_Obool___Lattices_Osemilattice__sup) ).

thf(5230,plain,
    semilattice_sup @ bool,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1156]) ).

thf(166,axiom,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i] :
          ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ B )
          = ( ti @ A @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_305_sup__idem) ).

thf(1747,plain,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i] :
          ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ B )
          = ( ti @ A @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[166]) ).

thf(505,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_108_exp_Osimps_I143_J) ).

thf(2941,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[505]) ).

thf(720,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( collect @ A ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( combs @ A @ bool @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ ( fun @ bool @ bool ) ) @ ( hAPP @ ( fun @ bool @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ ( fun @ bool @ bool ) ) ) @ ( combb @ bool @ ( fun @ bool @ bool ) @ A ) @ fdisj ) @ B ) ) @ C ) )
      = ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( collect @ A ) @ B ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( collect @ A ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_258_Collect__disj__eq) ).

thf(3738,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( collect @ A ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( combs @ A @ bool @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ ( fun @ bool @ bool ) ) @ ( hAPP @ ( fun @ bool @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ ( fun @ bool @ bool ) ) ) @ ( combb @ bool @ ( fun @ bool @ bool ) @ A ) @ fdisj ) @ B ) ) @ C ) )
      = ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( collect @ A ) @ B ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( collect @ A ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[720]) ).

thf(247,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ F ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ B ) @ A ) )
         => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ B ) @ C ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ E ) ) @ ( hAPP @ ( list @ char ) @ ty @ class @ A ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_607_WTrt_H__WTrts_H_Ointros_I2_J) ).

thf(2028,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ F ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ B ) @ A ) )
         => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ B ) @ C ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ E ) ) @ ( hAPP @ ( list @ char ) @ ty @ class @ A ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[247]) ).

thf(894,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ A ) @ ( hAPP @ nat @ val @ addr @ B ) )
      = ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( option @ ty ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ty ) ) @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( option @ ty ) ) @ ( hAPP @ ( option @ ty ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ty ) ) @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( option @ ty ) ) ) @ ( option_case @ ( option @ ty ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( none @ ty ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( option @ ty ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ty ) ) @ ( product_prod_case @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( option @ ty ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( option @ ty ) ) ) @ ( hAPP @ ( fun @ ( option @ ty ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( option @ ty ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( option @ ty ) ) ) ) @ ( combb @ ( option @ ty ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( option @ ty ) ) @ ( list @ char ) ) @ ( combk @ ( option @ ty ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( hAPP @ ( fun @ ty @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) @ ( combb @ ty @ ( option @ ty ) @ ( list @ char ) ) @ ( some @ ty ) ) @ class ) ) ) ) @ ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ A @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_543_typeof__h_Osimps_I5_J) ).

thf(4340,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ A ) @ ( hAPP @ nat @ val @ addr @ B ) )
      = ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( option @ ty ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ty ) ) @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( option @ ty ) ) @ ( hAPP @ ( option @ ty ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ty ) ) @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( option @ ty ) ) ) @ ( option_case @ ( option @ ty ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( none @ ty ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( option @ ty ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ty ) ) @ ( product_prod_case @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( option @ ty ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( option @ ty ) ) ) @ ( hAPP @ ( fun @ ( option @ ty ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( option @ ty ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( option @ ty ) ) ) ) @ ( combb @ ( option @ ty ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( option @ ty ) ) @ ( list @ char ) ) @ ( combk @ ( option @ ty ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( hAPP @ ( fun @ ty @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) @ ( combb @ ty @ ( option @ ty ) @ ( list @ char ) ) @ ( some @ ty ) ) @ class ) ) ) ) @ ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ A @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[894]) ).

thf(752,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ B ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ C ) ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) ) ) ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_798_redp__redsp_ORedCallNull) ).

thf(3839,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ B ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ C ) ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) ) ) ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[752]) ).

thf(1093,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ E ) @ F ) @ G ) @ H ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_421_exp_Osimps_I114_J) ).

thf(5016,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ E ) @ F ) @ G ) @ H ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1093]) ).

thf(969,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ C ) @ A ) @ B ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ E ) @ A ) @ B ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_831_CallRedsObj) ).

thf(4577,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ C ) @ A ) @ B ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ E ) @ A ) @ B ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[969]) ).

thf(736,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ~ ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ D ) @ E ) )
     => ( ( hAPP @ B @ ( option @ A ) @ ( hAPP @ ( fun @ B @ bool ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ ( option @ A ) ) ) @ ( restrict_map @ B @ A ) @ C ) @ E ) @ D )
        = ( none @ A ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_291_restrict__out) ).

thf(3792,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ~ ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ D ) @ E ) )
     => ( ( hAPP @ B @ ( option @ A ) @ ( hAPP @ ( fun @ B @ bool ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ ( option @ A ) ) ) @ ( restrict_map @ B @ A ) @ C ) @ E ) @ D )
        = ( none @ A ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[736]) ).

thf(869,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( product_prod_case @ A @ B @ C ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ C ) ) @ ( hAPP @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ C ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ C ) ) ) @ ( combb @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ C ) @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ C ) ) @ ( combb @ ( product_prod @ A @ B ) @ C @ B ) @ D ) ) @ ( product_Pair @ A @ B ) ) )
      = ( ti @ ( fun @ ( product_prod @ A @ B ) @ C ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_78_split__eta) ).

thf(4269,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( product_prod_case @ A @ B @ C ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ C ) ) @ ( hAPP @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ C ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ C ) ) ) @ ( combb @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ C ) @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ C ) ) @ ( combb @ ( product_prod @ A @ B ) @ C @ B ) @ D ) ) @ ( product_Pair @ A @ B ) ) )
      = ( ti @ ( fun @ ( product_prod @ A @ B ) @ C ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[869]) ).

thf(804,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ A ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ C ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_63_red__reds_ORedInitBlock) ).

thf(4017,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ A ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ C ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[804]) ).

thf(491,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ H ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ I ) @ D ) @ A ) @ C ) @ B ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) @ D ) @ E ) @ A ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) @ G ) @ H ) @ A ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_28_red__preserves__lconf) ).

thf(2894,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ H ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ I ) @ D ) @ A ) @ C ) @ B ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) @ D ) @ E ) @ A ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) @ G ) @ H ) @ A ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[491]) ).

thf(61,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ D ) ) @ E ) )
    <=> ( ( hAPP @ ( list @ val ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ val @ ( option @ ty ) ) @ ( fun @ ( list @ val ) @ ( list @ ( option @ ty ) ) ) @ ( map @ val @ ( option @ ty ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ B ) ) @ D )
        = ( hAPP @ ( list @ ty ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ ty @ ( option @ ty ) ) @ ( fun @ ( list @ ty ) @ ( list @ ( option @ ty ) ) ) @ ( map @ ty @ ( option @ ty ) ) @ ( some @ ty ) ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_875_WTrts__Val) ).

thf(1374,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ D ) ) @ E ) )
       => ( ( hAPP @ ( list @ val ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ val @ ( option @ ty ) ) @ ( fun @ ( list @ val ) @ ( list @ ( option @ ty ) ) ) @ ( map @ val @ ( option @ ty ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ B ) ) @ D )
          = ( hAPP @ ( list @ ty ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ ty @ ( option @ ty ) ) @ ( fun @ ( list @ ty ) @ ( list @ ( option @ ty ) ) ) @ ( map @ ty @ ( option @ ty ) ) @ ( some @ ty ) ) @ E ) ) )
      & ( ( ( hAPP @ ( list @ val ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ val @ ( option @ ty ) ) @ ( fun @ ( list @ val ) @ ( list @ ( option @ ty ) ) ) @ ( map @ val @ ( option @ ty ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ B ) ) @ D )
          = ( hAPP @ ( list @ ty ) @ ( list @ ( option @ ty ) ) @ ( hAPP @ ( fun @ ty @ ( option @ ty ) ) @ ( fun @ ( list @ ty ) @ ( list @ ( option @ ty ) ) ) @ ( map @ ty @ ( option @ ty ) ) @ ( some @ ty ) ) @ E ) )
       => ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ D ) ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[61]) ).

thf(903,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ D ) @ A ) @ B ) @ C ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_405_FAssRedsThrow1) ).

thf(4365,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ D ) @ A ) @ B ) @ C ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[903]) ).

thf(136,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ C ) @ D ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fFalse ) ) ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ C ) @ A ) ) @ D ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_654_WhileF) ).

thf(1631,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ C ) @ D ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fFalse ) ) ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ C ) @ A ) ) @ D ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[136]) ).

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] :
      ( ( ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ J )
        = ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ K ) )
     => ( ( ( hAPP @ ( list @ val ) @ nat @ ( size_size @ ( list @ val ) ) @ I )
          = ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ K ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ ( list @ char ) ) @ bool @ ( distinct @ ( list @ char ) ) @ J ) )
         => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( map_upds @ ( list @ char ) @ val ) @ D ) @ J ) @ I ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ G ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
           => ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ E ) )
             => ( ( A
                  = ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( override_on @ ( list @ char ) @ ( option @ val ) ) @ G ) @ D ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( set @ ( list @ char ) ) @ J ) ) )
               => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ J ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ K ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ I ) @ B ) ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ A ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_983_blocksRedsFinal) ).

thf(5241,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ J )
        = ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ K ) )
     => ( ( ( hAPP @ ( list @ val ) @ nat @ ( size_size @ ( list @ val ) ) @ I )
          = ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ K ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ ( list @ char ) ) @ bool @ ( distinct @ ( list @ char ) ) @ J ) )
         => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( map_upds @ ( list @ char ) @ val ) @ D ) @ J ) @ I ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ G ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
           => ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ E ) )
             => ( ( A
                  = ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( override_on @ ( list @ char ) @ ( option @ val ) ) @ G ) @ D ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( set @ ( list @ char ) ) @ J ) ) )
               => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ J ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ K ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ I ) @ B ) ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ A ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1159]) ).

thf(838,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_373_exp_Osimps_I136_J) ).

thf(4144,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[838]) ).

thf(721,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_503_exp_Osimps_I69_J) ).

thf(3741,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[721]) ).

thf(438,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ C ) @ A ) @ B ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ E ) @ A ) @ B ) ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_688_red__reds_OCondRed) ).

thf(2727,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ C ) @ A ) @ B ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ E ) @ A ) @ B ) ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[438]) ).

thf(216,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ A @ bool @ B @ D ) )
       => ( ! [F: $i,G: $i] :
              ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ F ) @ G ) ) @ E ) )
             => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ G ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
               => ( ( hBOOL @ ( hAPP @ A @ bool @ B @ G ) )
                 => ( hBOOL @ ( hAPP @ A @ bool @ B @ F ) ) ) ) )
         => ( hBOOL @ ( hAPP @ A @ bool @ B @ C ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_226_converse__rtrancl__induct) ).

thf(1916,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ A @ bool @ B @ D ) )
       => ( ! [F: $i,G: $i] :
              ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ F ) @ G ) ) @ E ) )
             => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ G ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
               => ( ( hBOOL @ ( hAPP @ A @ bool @ B @ G ) )
                 => ( hBOOL @ ( hAPP @ A @ bool @ B @ F ) ) ) ) )
         => ( hBOOL @ ( hAPP @ A @ bool @ B @ C ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[216]) ).

thf(742,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ C ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ C ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_506_eval__evals_OCastThrow) ).

thf(3811,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ C ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ C ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[742]) ).

thf(456,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ D ) @ E )
        = F )
     => ( ( B
          = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ E ) @ C ) )
       => ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ D ) @ B )
          = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ F ) @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_845_Cons__eq__appendI) ).

thf(2789,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ D ) @ E )
        = F )
     => ( ( B
          = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ E ) @ C ) )
       => ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ D ) @ B )
          = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ F ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[456]) ).

thf(842,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ ( hAPP @ ( list @ char ) @ ty @ class @ C ) ) @ D ) )
     => ? [E: $i] :
          ( D
          = ( hAPP @ ( list @ char ) @ ty @ class @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_586_Class__widen) ).

thf(4159,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ ( hAPP @ ( list @ char ) @ ty @ class @ C ) ) @ D ) )
     => ? [E: $i] :
          ( D
          = ( hAPP @ ( list @ char ) @ ty @ class @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[842]) ).

thf(1120,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_362_exp_Osimps_I150_J) ).

thf(5097,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1120]) ).

thf(679,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ D ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_640_exp_Osimps_I222_J) ).

thf(3590,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ D ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[679]) ).

thf(909,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( oconf @ A ) )
      = ( oconf @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Conform_Ooconf_res) ).

thf(4381,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( oconf @ A ) )
      = ( oconf @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[909]) ).

thf(1073,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ D ) @ E ) @ F ) ) @ G ) )
     => ( ! [H: $i] :
            ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ ( hAPP @ ( list @ char ) @ ty @ class @ H ) ) )
           => ~ ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) @ H ) @ E ) @ G ) @ F ) ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ nt ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_719_WTrt__elim__cases_I7_J) ).

thf(4946,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ D ) @ E ) @ F ) ) @ G ) )
     => ( ! [H: $i] :
            ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ ( hAPP @ ( list @ char ) @ ty @ class @ H ) ) )
           => ~ ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) @ H ) @ E ) @ G ) @ F ) ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ nt ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1073]) ).

thf(18,axiom,
    ! [A: $i,B: $i] :
      ( ( ti @ A @ ( ti @ A @ B ) )
      = ( ti @ A @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_ti_idem) ).

thf(1226,plain,
    ! [A: $i,B: $i] :
      ( ( ti @ A @ ( ti @ A @ B ) )
      = ( ti @ A @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[18]) ).

thf(511,axiom,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B ) ) @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_740__092_060D_062___092_060D_062s_Osimps_I1_J) ).

thf(2959,plain,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B ) ) @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[511]) ).

thf(662,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ C )
        = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ C ) )
    <=> ( B = D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_793_append__same__eq) ).

thf(3536,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ C )
          = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ C ) )
       => ( B = D ) )
      & ( ( B = D )
       => ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ C )
          = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[662]) ).

thf(1023,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_489_exp_Osimps_I66_J) ).

thf(4786,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1023]) ).

thf(619,axiom,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B ) ) @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_121__092_060D_062___092_060D_062s_Osimps_I3_J) ).

thf(3387,plain,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B ) ) @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[619]) ).

thf(1086,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ ( semilattice_sup_sup @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ B ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) ) )
      = ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ ( semilattice_sup_sup @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ B ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_593_rtranclp__sup__rtranclp) ).

thf(4998,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ ( semilattice_sup_sup @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ B ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) ) )
      = ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ ( semilattice_sup_sup @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ B ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1086]) ).

thf(874,axiom,
    lattice @ bool,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_HOL_Obool___Lattices_Olattice) ).

thf(4283,plain,
    lattice @ bool,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[874]) ).

thf(941,axiom,
    ! [A: $i,B: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ typeSa1166768941_sconf @ p ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ha ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ la ) @ v_1 ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ v ) ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ p ) @ ha ) @ B ) @ ea ) @ A ) )
       => ? [C: $i] :
            ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ p ) @ h_a ) @ B ) @ e_a ) @ C ) )
            & ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ p ) @ C ) @ A ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_7_InitBlockRed_I2_J) ).

thf(4494,plain,
    ! [A: $i,B: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ typeSa1166768941_sconf @ p ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ha ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ la ) @ v_1 ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ v ) ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ p ) @ ha ) @ B ) @ ea ) @ A ) )
       => ? [C: $i] :
            ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ p ) @ h_a ) @ B ) @ e_a ) @ C ) )
            & ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ p ) @ C ) @ A ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[941]) ).

thf(64,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ C ) @ D ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_738_exp_Osimps_I36_J) ).

thf(1389,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ C ) @ D ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[64]) ).

thf(583,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ D ) )
      = ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_251_Un__left__commute) ).

thf(3255,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ D ) )
      = ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[583]) ).

thf(519,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ H ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ H ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ G ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ B ) ) @ A ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ H ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( restrict_map @ ( list @ char ) @ val ) @ D ) @ A ) ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( restrict_map @ ( list @ char ) @ val ) @ G ) @ A ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_277_eval__restrict__lcl) ).

thf(2981,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ H ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ H ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ G ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ B ) ) @ A ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ H ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( restrict_map @ ( list @ char ) @ val ) @ D ) @ A ) ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( restrict_map @ ( list @ char ) @ val ) @ G ) @ A ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[519]) ).

thf(1110,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ D ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_175_subsetD) ).

thf(5067,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ D ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1110]) ).

thf(133,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ B ) @ C ) ) @ D ) @ E ) @ F ) )
    <=> ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ B ) @ C ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) ) @ D ) @ E ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_699_unfold__while) ).

thf(1620,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ B ) @ C ) ) @ D ) @ E ) @ F ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ B ) @ C ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) ) @ D ) @ E ) @ F ) ) )
      & ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ B ) @ C ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) ) @ D ) @ E ) @ F ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ B ) @ C ) ) @ D ) @ E ) @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[133]) ).

thf(644,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ti @ ( fun @ A @ bool ) @ B )
        = ( ti @ ( fun @ A @ bool ) @ C ) )
     => ~ ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ B ) @ C ) )
         => ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_188_equalityE) ).

thf(3472,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ti @ ( fun @ A @ bool ) @ B )
        = ( ti @ ( fun @ A @ bool ) @ C ) )
     => ~ ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ B ) @ C ) )
         => ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[644]) ).

thf(378,axiom,
    ! [A: $i,B: $i] :
      ( ( lattice @ B )
     => ! [C: $i,D: $i,E: $i] :
          ( ( hAPP @ A @ B @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ B ) ) @ ( semilattice_sup_sup @ ( fun @ A @ B ) ) @ C ) @ D ) @ E )
          = ( hAPP @ B @ B @ ( hAPP @ B @ ( fun @ B @ B ) @ ( semilattice_sup_sup @ B ) @ ( hAPP @ A @ B @ C @ E ) ) @ ( hAPP @ A @ B @ D @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_278_sup__apply) ).

thf(2489,plain,
    ! [A: $i,B: $i] :
      ( ( lattice @ B )
     => ! [C: $i,D: $i,E: $i] :
          ( ( hAPP @ A @ B @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ B ) ) @ ( semilattice_sup_sup @ ( fun @ A @ B ) ) @ C ) @ D ) @ E )
          = ( hAPP @ B @ B @ ( hAPP @ B @ ( fun @ B @ B ) @ ( semilattice_sup_sup @ B ) @ ( hAPP @ A @ B @ C @ E ) ) @ ( hAPP @ A @ B @ D @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[378]) ).

thf(539,axiom,
    ! [A: $i] :
      ( unit
     != ( hAPP @ nat @ val @ addr @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_413_val_Osimps_I10_J) ).

thf(3086,plain,
    ! [A: $i] :
      ( unit
     != ( hAPP @ nat @ val @ addr @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[539]) ).

thf(168,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ A @ B @ ( hAPP @ ( fun @ A @ C ) @ ( fun @ A @ B ) @ ( hAPP @ ( fun @ C @ B ) @ ( fun @ ( fun @ A @ C ) @ ( fun @ A @ B ) ) @ ( combb @ C @ B @ A ) @ D ) @ E ) @ F )
      = ( hAPP @ C @ B @ D @ ( hAPP @ A @ C @ E @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_COMBB_1_1_U) ).

thf(1752,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ A @ B @ ( hAPP @ ( fun @ A @ C ) @ ( fun @ A @ B ) @ ( hAPP @ ( fun @ C @ B ) @ ( fun @ ( fun @ A @ C ) @ ( fun @ A @ B ) ) @ ( combb @ C @ B @ A ) @ D ) @ E ) @ F )
      = ( hAPP @ C @ B @ D @ ( hAPP @ A @ C @ E @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[168]) ).

thf(1064,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ B @ ( fun @ A @ bool ) @ ( hAPP @ C @ ( fun @ B @ ( fun @ A @ bool ) ) @ E @ F ) @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ ( product_prod @ C @ B ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ C @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( fun @ ( product_prod @ C @ B ) @ ( fun @ A @ bool ) ) @ ( product_prod_case @ C @ B @ ( fun @ A @ bool ) ) @ E ) @ ( hAPP @ B @ ( product_prod @ C @ B ) @ ( hAPP @ C @ ( fun @ B @ ( product_prod @ C @ B ) ) @ ( product_Pair @ C @ B ) @ F ) @ G ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_97_mem__splitI) ).

thf(4926,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ B @ ( fun @ A @ bool ) @ ( hAPP @ C @ ( fun @ B @ ( fun @ A @ bool ) ) @ E @ F ) @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ ( product_prod @ C @ B ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ C @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( fun @ ( product_prod @ C @ B ) @ ( fun @ A @ bool ) ) @ ( product_prod_case @ C @ B @ ( fun @ A @ bool ) ) @ E ) @ ( hAPP @ B @ ( product_prod @ C @ B ) @ ( hAPP @ C @ ( fun @ B @ ( product_prod @ C @ B ) ) @ ( product_Pair @ C @ B ) @ F ) @ G ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1064]) ).

thf(421,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ C ) @ A ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ B ) @ A ) @ D ) @ E ) @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_96_WTrt__hext__mono) ).

thf(2674,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ C ) @ A ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ B ) @ A ) @ D ) @ E ) @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[421]) ).

thf(401,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ C )
        = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ E ) )
    <=> ? [F: $i] :
          ( ( ( B
              = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ F ) )
            & ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ F ) @ C )
              = E ) )
          | ( ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ F )
              = D )
            & ( C
              = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ F ) @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_791_append__eq__append__conv2) ).

thf(2568,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ C )
          = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ E ) )
       => ? [F: $i] :
            ( ( ( B
                = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ F ) )
              & ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ F ) @ C )
                = E ) )
            | ( ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ F )
                = D )
              & ( C
                = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ F ) @ E ) ) ) ) )
      & ( ? [F: $i] :
            ( ( ( B
                = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ F ) )
              & ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ F ) @ C )
                = E ) )
            | ( ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ F )
                = D )
              & ( C
                = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ F ) @ E ) ) ) )
       => ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ C )
          = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[401]) ).

thf(979,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ D ) @ ( hAPP @ ( list @ C ) @ ( list @ B ) @ ( hAPP @ ( fun @ C @ B ) @ ( fun @ ( list @ C ) @ ( list @ B ) ) @ ( map @ C @ B ) @ E ) @ F ) ) @ G ) )
    <=> ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ C ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ C @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ C ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ C @ A ) @ ( hAPP @ ( fun @ C @ B ) @ ( fun @ C @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ C @ B ) @ ( fun @ C @ ( fun @ A @ bool ) ) ) @ ( combb @ B @ ( fun @ A @ bool ) @ C ) @ D ) @ E ) ) @ F ) @ G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_965_list__all2__map1) ).

thf(4605,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ D ) @ ( hAPP @ ( list @ C ) @ ( list @ B ) @ ( hAPP @ ( fun @ C @ B ) @ ( fun @ ( list @ C ) @ ( list @ B ) ) @ ( map @ C @ B ) @ E ) @ F ) ) @ G ) )
       => ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ C ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ C @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ C ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ C @ A ) @ ( hAPP @ ( fun @ C @ B ) @ ( fun @ C @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ C @ B ) @ ( fun @ C @ ( fun @ A @ bool ) ) ) @ ( combb @ B @ ( fun @ A @ bool ) @ C ) @ D ) @ E ) ) @ F ) @ G ) ) )
      & ( ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ C ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ C @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ C ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ C @ A ) @ ( hAPP @ ( fun @ C @ B ) @ ( fun @ C @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ C @ B ) @ ( fun @ C @ ( fun @ A @ bool ) ) ) @ ( combb @ B @ ( fun @ A @ bool ) @ C ) @ D ) @ E ) ) @ F ) @ G ) )
       => ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ D ) @ ( hAPP @ ( list @ C ) @ ( list @ B ) @ ( hAPP @ ( fun @ C @ B ) @ ( fun @ ( list @ C ) @ ( list @ B ) ) @ ( map @ C @ B ) @ E ) @ F ) ) @ G ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[979]) ).

thf(462,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( option @ nat ) @ new_Addr @ F )
        = ( hAPP @ nat @ ( option @ nat ) @ ( some @ nat ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ C ) @ D ) @ E ) )
       => ( ( B
            = ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ F ) @ G ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ init_fields @ E ) ) ) ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( new @ ( list @ char ) ) @ D ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ A ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ G ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ A ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_775_New) ).

thf(2806,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( option @ nat ) @ new_Addr @ F )
        = ( hAPP @ nat @ ( option @ nat ) @ ( some @ nat ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ C ) @ D ) @ E ) )
       => ( ( B
            = ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ F ) @ G ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ init_fields @ E ) ) ) ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( new @ ( list @ char ) ) @ D ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ A ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ G ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ A ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[462]) ).

thf(1079,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ D ) @ E ) )
      = ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_58_map__add__assoc) ).

thf(4975,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ D ) @ E ) )
      = ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1079]) ).

thf(97,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_823_exp_Osimps_I140_J) ).

thf(1520,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[97]) ).

thf(981,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ D ) @ E )
        = ( ti @ ( fun @ B @ A ) @ C ) )
    <=> ( ( hAPP @ B @ A @ C @ D )
        = ( ti @ A @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_25_fun__upd__idem__iff) ).

thf(4612,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ D ) @ E )
          = ( ti @ ( fun @ B @ A ) @ C ) )
       => ( ( hAPP @ B @ A @ C @ D )
          = ( ti @ A @ E ) ) )
      & ( ( ( hAPP @ B @ A @ C @ D )
          = ( ti @ A @ E ) )
       => ( ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ D ) @ E )
          = ( ti @ ( fun @ B @ A ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[981]) ).

thf(1015,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ C ) @ A ) )
       => ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ B ) @ A ) @ D ) @ E ) @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_873_WTrts__hext__mono) ).

thf(4758,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ C ) @ A ) )
       => ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ B ) @ A ) @ D ) @ E ) @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1015]) ).

thf(469,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( combk @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ nat ) @ ( none @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ C )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ D ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ bool ) @ ( is_type @ A ) @ B ) @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_723_typeof__lit__is__type) ).

thf(2827,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( combk @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ nat ) @ ( none @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ C )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ D ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ bool ) @ ( is_type @ A ) @ B ) @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[469]) ).

thf(945,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_675_exp_Osimps_I108_J) ).

thf(4505,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[945]) ).

thf(938,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( option @ nat ) @ new_Addr @ D )
        = ( none @ nat ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( new @ ( list @ char ) ) @ B ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ C ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ outOfMemory ) ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_770_redp__redsp_ORedNewFail) ).

thf(4485,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( option @ nat ) @ new_Addr @ D )
        = ( none @ nat ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( new @ ( list @ char ) ) @ B ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ C ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ outOfMemory ) ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[938]) ).

thf(1101,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ D ) @ A ) @ B ) @ C ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ F ) @ A ) @ B ) @ C ) ) @ G ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_303_red__reds_OFAssRed1) ).

thf(5039,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ D ) @ A ) @ B ) @ C ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ F ) @ A ) @ B ) @ C ) ) @ G ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1101]) ).

thf(712,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( combk @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ nat ) @ ( none @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ B )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ C ) )
     => ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ A ) @ B )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_535_typeof__lit__typeof) ).

thf(3695,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( combk @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ nat ) @ ( none @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ B )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ C ) )
     => ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ A ) @ B )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[712]) ).

thf(1134,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ B ) @ A ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ D ) @ A ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ F ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_861_ListReds1) ).

thf(5148,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ B ) @ A ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ D ) @ A ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ F ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1134]) ).

thf(367,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ bool @ ( finals @ ( list @ char ) ) @ C ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ A ) @ C ) @ B ) @ C ) @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_866_eval__finalsId) ).

thf(2442,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ bool @ ( finals @ ( list @ char ) ) @ C ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ A ) @ C ) @ B ) @ C ) @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[367]) ).

thf(733,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_435_exp_Osimps_I153_J) ).

thf(3783,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[733]) ).

thf(714,axiom,
    ! [A: $i,B: $i] :
      ( ( ord @ B )
     => ! [C: $i,D: $i,E: $i] :
          ( ( hBOOL @ ( hAPP @ ( fun @ A @ B ) @ bool @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( fun @ A @ B ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ B ) ) @ D ) @ E ) )
         => ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ B @ ( fun @ B @ bool ) @ ( ord_less_eq @ B ) @ ( hAPP @ A @ B @ D @ C ) ) @ ( hAPP @ A @ B @ E @ C ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_218_le__funE) ).

thf(3700,plain,
    ! [A: $i,B: $i] :
      ( ( ord @ B )
     => ! [C: $i,D: $i,E: $i] :
          ( ( hBOOL @ ( hAPP @ ( fun @ A @ B ) @ bool @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( fun @ A @ B ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ B ) ) @ D ) @ E ) )
         => ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ B @ ( fun @ B @ bool ) @ ( ord_less_eq @ B ) @ ( hAPP @ A @ B @ D @ C ) ) @ ( hAPP @ A @ B @ E @ C ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[714]) ).

thf(373,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ B ) @ C ) @ D ) ) @ E ) @ F ) @ G ) )
     => ~ ! [H: $i,I: $i] :
            ( ( E
              = ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ I ) )
           => ! [J: $i,K: $i] :
                ( ( G
                  = ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ J ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ K ) @ B ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ I @ B ) ) ) )
               => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ D ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ I ) @ B ) @ ( none @ val ) ) ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ J ) @ K ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_276_eval__cases_I8_J) ).

thf(2457,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ B ) @ C ) @ D ) ) @ E ) @ F ) @ G ) )
     => ~ ! [H: $i,I: $i] :
            ( ( E
              = ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ I ) )
           => ! [J: $i,K: $i] :
                ( ( G
                  = ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ J ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ K ) @ B ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ I @ B ) ) ) )
               => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ D ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ I ) @ B ) @ ( none @ val ) ) ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ J ) @ K ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[373]) ).

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(1052,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) )
      = ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ D ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_269_dom__map__add) ).

thf(4887,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) )
      = ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ D ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1052]) ).

thf(149,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( collect @ A ) )
      = ( collect @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Set_OCollect_res) ).

thf(1675,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( collect @ A ) )
      = ( collect @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[149]) ).

thf(951,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( combk @ ( option @ B ) @ A ) @ ( none @ B ) ) )
      = ( ti @ ( fun @ A @ ( option @ B ) ) @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_149_map__add__empty) ).

thf(4526,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( combk @ ( option @ B ) @ A ) @ ( none @ B ) ) )
      = ( ti @ ( fun @ A @ ( option @ B ) ) @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[951]) ).

thf(955,axiom,
    preorder @ nat,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_Nat_Onat___Orderings_Opreorder) ).

thf(4537,plain,
    preorder @ nat,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[955]) ).

thf(93,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ D ) @ ( hAPP @ ( list @ C ) @ ( list @ A ) @ ( hAPP @ ( fun @ C @ A ) @ ( fun @ ( list @ C ) @ ( list @ A ) ) @ ( map @ C @ A ) @ E ) @ F ) )
      = ( hAPP @ ( list @ C ) @ ( list @ B ) @ ( hAPP @ ( fun @ C @ B ) @ ( fun @ ( list @ C ) @ ( list @ B ) ) @ ( map @ C @ B ) @ ( hAPP @ ( fun @ C @ A ) @ ( fun @ C @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ B ) ) @ ( comp @ A @ B @ C ) @ D ) @ E ) ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_993_map__map) ).

thf(1503,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ D ) @ ( hAPP @ ( list @ C ) @ ( list @ A ) @ ( hAPP @ ( fun @ C @ A ) @ ( fun @ ( list @ C ) @ ( list @ A ) ) @ ( map @ C @ A ) @ E ) @ F ) )
      = ( hAPP @ ( list @ C ) @ ( list @ B ) @ ( hAPP @ ( fun @ C @ B ) @ ( fun @ ( list @ C ) @ ( list @ B ) ) @ ( map @ C @ B ) @ ( hAPP @ ( fun @ C @ A ) @ ( fun @ C @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ B ) ) @ ( comp @ A @ B @ C ) @ D ) @ E ) ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[93]) ).

thf(1080,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ C ) @ D ) @ E ) @ F ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ C ) @ D ) @ E ) @ A ) @ B ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ C ) @ D ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ F ) @ A ) ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_89_WTrtSeq) ).

thf(4978,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ C ) @ D ) @ E ) @ F ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ C ) @ D ) @ E ) @ A ) @ B ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ C ) @ D ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ F ) @ A ) ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1080]) ).

thf(729,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ B )
     != ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ C ) @ D ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_807_exp_Osimps_I193_J) ).

thf(3773,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ B )
     != ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ C ) @ D ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[729]) ).

thf(546,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( seq @ A ) )
      = ( seq @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OSeq_res) ).

thf(3118,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( seq @ A ) )
      = ( seq @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[546]) ).

thf(1099,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( lAss @ A ) )
      = ( lAss @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OLAss_res) ).

thf(5033,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( lAss @ A ) )
      = ( lAss @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1099]) ).

thf(834,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) @ E )
        = ( none @ B ) )
    <=> ( ( ( hAPP @ A @ ( option @ B ) @ D @ E )
          = ( none @ B ) )
        & ( ( hAPP @ A @ ( option @ B ) @ C @ E )
          = ( none @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_147_map__add__None) ).

thf(4127,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) @ E )
          = ( none @ B ) )
       => ( ( ( hAPP @ A @ ( option @ B ) @ D @ E )
            = ( none @ B ) )
          & ( ( hAPP @ A @ ( option @ B ) @ C @ E )
            = ( none @ B ) ) ) )
      & ( ( ( ( hAPP @ A @ ( option @ B ) @ D @ E )
            = ( none @ B ) )
          & ( ( hAPP @ A @ ( option @ B ) @ C @ E )
            = ( none @ B ) ) )
       => ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) @ E )
          = ( none @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[834]) ).

thf(301,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ D ) @ E ) @ F ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ G ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ I ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ H @ G )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ B ) @ C ) ) )
       => ( ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ A ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ D ) ) ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ E ) ) @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ classCast ) ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ I ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_525_CastFail) ).

thf(2220,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ D ) @ E ) @ F ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ G ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ I ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ H @ G )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ B ) @ C ) ) )
       => ( ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ A ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ D ) ) ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ E ) ) @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ classCast ) ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ I ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[301]) ).

thf(826,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_363_exp_Osimps_I210_J) ).

thf(4096,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[826]) ).

thf(333,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ D ) @ A ) @ B ) @ C ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ F ) @ A ) @ B ) @ C ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_319_FAssReds1) ).

thf(2326,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ D ) @ A ) @ B ) @ C ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ F ) @ A ) @ B ) @ C ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[333]) ).

thf(1026,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ D ) @ E ) )
    <=> ? [F: $i] :
          ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ C ) @ D )
            = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ F ) )
          & ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ F ) @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_536_conf__def) ).

thf(4796,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ D ) @ E ) )
       => ? [F: $i] :
            ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ C ) @ D )
              = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ F ) )
            & ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ F ) @ E ) ) ) )
      & ( ? [F: $i] :
            ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ C ) @ D )
              = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ F ) )
            & ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ F ) @ E ) ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ D ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1026]) ).

thf(329,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ B ) @ C ) @ D ) ) @ E ) @ F ) @ G ) )
     => ( ! [H: $i] :
            ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ E ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fTrue ) ) ) @ H ) )
           => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ C ) @ H ) @ F ) @ G ) ) )
       => ( ! [H: $i] :
              ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ E ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fFalse ) ) ) @ H ) )
             => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ D ) @ H ) @ F ) @ G ) ) )
         => ~ ! [H: $i] :
                ( ( F
                  = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ H ) )
               => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ H ) ) @ G ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_733_eval__cases_I10_J) ).

thf(2308,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ B ) @ C ) @ D ) ) @ E ) @ F ) @ G ) )
     => ( ! [H: $i] :
            ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ E ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fTrue ) ) ) @ H ) )
           => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ C ) @ H ) @ F ) @ G ) ) )
       => ( ! [H: $i] :
              ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ E ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fFalse ) ) ) @ H ) )
             => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ D ) @ H ) @ F ) @ G ) ) )
         => ~ ! [H: $i] :
                ( ( F
                  = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ H ) )
               => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ H ) ) @ G ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[329]) ).

thf(990,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ C )
      = ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( collect @ A ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ bool @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( combb @ bool @ bool @ A ) @ fNot ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ ( option @ B ) @ bool ) ) @ ( fun @ ( option @ B ) @ ( fun @ A @ bool ) ) @ ( combc @ A @ ( option @ B ) @ bool ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ bool ) ) @ ( hAPP @ ( fun @ ( option @ B ) @ ( fun @ ( option @ B ) @ bool ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ bool ) ) ) @ ( combb @ ( option @ B ) @ ( fun @ ( option @ B ) @ bool ) @ A ) @ ( fequal @ ( option @ B ) ) ) @ C ) ) @ ( none @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_144_dom__def) ).

thf(4645,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ C )
      = ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( collect @ A ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ bool @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( combb @ bool @ bool @ A ) @ fNot ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ ( option @ B ) @ bool ) ) @ ( fun @ ( option @ B ) @ ( fun @ A @ bool ) ) @ ( combc @ A @ ( option @ B ) @ bool ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ bool ) ) @ ( hAPP @ ( fun @ ( option @ B ) @ ( fun @ ( option @ B ) @ bool ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ bool ) ) ) @ ( combb @ ( option @ B ) @ ( fun @ ( option @ B ) @ bool ) @ A ) @ ( fequal @ ( option @ B ) ) ) @ C ) ) @ ( none @ B ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[990]) ).

thf(138,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ C ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ B ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ C ) @ A ) ) @ D ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ A ) ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_853_ConsThrow) ).

thf(1635,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ C ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ B ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ C ) @ A ) ) @ D ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ A ) ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[138]) ).

thf(503,axiom,
    ! [A: $i,B: $i] :
      ( ( order @ B )
     => ( order @ ( fun @ A @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_fun___Orderings_Oorder) ).

thf(2935,plain,
    ! [A: $i,B: $i] :
      ( ( order @ B )
     => ( order @ ( fun @ A @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[503]) ).

thf(1034,axiom,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) ) @ C ) @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_957_widens__refl) ).

thf(4822,plain,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) ) @ C ) @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1034]) ).

thf(237,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) @ E ) @ B ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) @ D ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_594_rtranclp__trans) ).

thf(1997,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) @ E ) @ B ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) @ D ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[237]) ).

thf(607,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_120_exp_Osimps_I83_J) ).

thf(3340,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[607]) ).

thf(680,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_678_exp_Osimps_I198_J) ).

thf(3594,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[680]) ).

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] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ D ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ F ) @ G ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ H ) ) ) ) @ I ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ J ) @ K ) ) )
     => ( ( ( hAPP @ ( list @ char ) @ ( option @ val ) @ K @ G )
          = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ G ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ G ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ H ) ) ) @ D ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ F ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ G ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ G ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) ) @ I ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ J ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ K ) @ G ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ F @ G ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_126_redp__redsp_OInitBlockRed) ).

thf(2148,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ D ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ F ) @ G ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ H ) ) ) ) @ I ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ J ) @ K ) ) )
     => ( ( ( hAPP @ ( list @ char ) @ ( option @ val ) @ K @ G )
          = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ G ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ G ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ H ) ) ) @ D ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ F ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ G ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ G ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) ) @ I ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ J ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ K ) @ G ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ F @ G ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[279]) ).

thf(344,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ A ) @ E ) @ F ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( product_Pair @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ C ) ) @ D ) ) @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ bool ) @ ( set @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ G ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ F ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_895_has__fields__decl__above) ).

thf(2358,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ A ) @ E ) @ F ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ty @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( product_Pair @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ C ) ) @ D ) ) @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) @ bool ) @ ( set @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ G ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ F ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[344]) ).

thf(331,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ D @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( semilattice_sup_sup @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ C ) @ D ) @ E ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_345_sup2I2) ).

thf(2319,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ D @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( semilattice_sup_sup @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ C ) @ D ) @ E ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[331]) ).

thf(926,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ A ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ B ) ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) ) ) ) @ C ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_797_red__reds_ORedCallNull) ).

thf(4433,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ A ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ B ) ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) ) ) ) @ C ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[926]) ).

thf(436,axiom,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ B ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_567_redp__redsp_ORedCastNull) ).

thf(2721,plain,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ B ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[436]) ).

thf(37,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ D ) ) )
    <=> ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ C ) )
        | ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_252_Un__iff) ).

thf(1282,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ D ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ C ) )
          | ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ D ) ) ) )
      & ( ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ C ) )
          | ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ D ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[37]) ).

thf(210,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) ) @ ( methods @ A ) @ E ) @ F ) @ G ) )
     => ( ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ G @ B )
          = ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( some @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ C ) @ D ) ) )
       => ? [H: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) ) @ ( methods @ A ) @ E ) @ D ) @ H ) )
            & ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ H @ B )
              = ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( some @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ C ) @ D ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_917_sees__methods__idemp) ).

thf(1894,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) ) @ ( methods @ A ) @ E ) @ F ) @ G ) )
     => ( ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ G @ B )
          = ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( some @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ C ) @ D ) ) )
       => ? [H: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) ) @ ( methods @ A ) @ E ) @ D ) @ H ) )
            & ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ H @ B )
              = ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( some @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ C ) @ D ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[210]) ).

thf(115,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ~ ! [F: $i,G: $i,H: $i,I: $i] :
          ( ( ti @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) @ E )
         != ( hAPP @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) @ ( hAPP @ A @ ( fun @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) @ F ) @ ( hAPP @ ( product_prod @ C @ D ) @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ ( hAPP @ B @ ( fun @ ( product_prod @ C @ D ) @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) @ ( product_Pair @ B @ ( product_prod @ C @ D ) ) @ G ) @ ( hAPP @ D @ ( product_prod @ C @ D ) @ ( hAPP @ C @ ( fun @ D @ ( product_prod @ C @ D ) ) @ ( product_Pair @ C @ D ) @ H ) @ I ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_13_prod__cases4) ).

thf(1574,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ~ ! [F: $i,G: $i,H: $i,I: $i] :
          ( ( ti @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) @ E )
         != ( hAPP @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) @ ( hAPP @ A @ ( fun @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) @ F ) @ ( hAPP @ ( product_prod @ C @ D ) @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ ( hAPP @ B @ ( fun @ ( product_prod @ C @ D ) @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) @ ( product_Pair @ B @ ( product_prod @ C @ D ) ) @ G ) @ ( hAPP @ D @ ( product_prod @ C @ D ) @ ( hAPP @ C @ ( fun @ D @ ( product_prod @ C @ D ) ) @ ( product_Pair @ C @ D ) @ H ) @ I ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[115]) ).

thf(731,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ D ) @ E ) @ F ) @ G ) @ nt ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ D ) @ E ) @ F ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ G ) @ A ) @ B ) ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_712_WTrt_H__WTrts_H_Ointros_I9_J) ).

thf(3779,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ D ) @ E ) @ F ) @ G ) @ nt ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ D ) @ E ) @ F ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ G ) @ A ) @ B ) ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[731]) ).

thf(312,axiom,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i,D: $i] :
          ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ D ) )
          = ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_314_sup__left__commute) ).

thf(2257,plain,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i,D: $i] :
          ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ D ) )
          = ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[312]) ).

thf(978,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ! [G: $i,H: $i] :
          ( ( ( ti @ ( product_prod @ B @ C ) @ F )
            = ( hAPP @ C @ ( product_prod @ B @ C ) @ ( hAPP @ B @ ( fun @ C @ ( product_prod @ B @ C ) ) @ ( product_Pair @ B @ C ) @ G ) @ H ) )
         => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ C @ ( fun @ A @ bool ) @ ( hAPP @ B @ ( fun @ C @ ( fun @ A @ bool ) ) @ E @ G ) @ H ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ ( product_prod @ B @ C ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ C @ ( fun @ A @ bool ) ) ) @ ( fun @ ( product_prod @ B @ C ) @ ( fun @ A @ bool ) ) @ ( product_prod_case @ B @ C @ ( fun @ A @ bool ) ) @ E ) @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_103_mem__splitI2) ).

thf(4601,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ! [G: $i,H: $i] :
          ( ( ( ti @ ( product_prod @ B @ C ) @ F )
            = ( hAPP @ C @ ( product_prod @ B @ C ) @ ( hAPP @ B @ ( fun @ C @ ( product_prod @ B @ C ) ) @ ( product_Pair @ B @ C ) @ G ) @ H ) )
         => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ C @ ( fun @ A @ bool ) @ ( hAPP @ B @ ( fun @ C @ ( fun @ A @ bool ) ) @ E @ G ) @ H ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ ( product_prod @ B @ C ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ C @ ( fun @ A @ bool ) ) ) @ ( fun @ ( product_prod @ B @ C ) @ ( fun @ A @ bool ) ) @ ( product_prod_case @ B @ C @ ( fun @ A @ bool ) ) @ E ) @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[978]) ).

thf(1153,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) ) @ ( lconf @ A ) )
      = ( lconf @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Conform_Olconf_res) ).

thf(5222,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) ) @ ( lconf @ A ) )
      = ( lconf @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1153]) ).

thf(1018,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) ) @ ( fAss @ A ) )
      = ( fAss @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OFAss_res) ).

thf(4773,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) ) @ ( fAss @ A ) )
      = ( fAss @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1018]) ).

thf(1167,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ A ) @ B ) @ C ) @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ bool @ ( finals @ ( list @ char ) ) @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_865_evals__final) ).

thf(5267,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ A ) @ B ) @ C ) @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ bool @ ( finals @ ( list @ char ) ) @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1167]) ).

thf(387,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ! [D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ C @ D ) )
    <=> ! [D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ C @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ D ) @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_17_split__paired__All) ).

thf(2521,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ! [D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ C @ D ) )
       => ! [D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ C @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ D ) @ E ) ) ) )
      & ( ! [D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ C @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ D ) @ E ) ) )
       => ! [D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ C @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[387]) ).

thf(1024,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ G ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ D ) ) @ A ) @ C ) @ B ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ typeSa1166768941_sconf @ G ) @ A ) @ D ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ typeSa1166768941_sconf @ G ) @ A ) @ F ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_31_red__preserves__sconf) ).

thf(4790,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ G ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ D ) ) @ A ) @ C ) @ B ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ typeSa1166768941_sconf @ G ) @ A ) @ D ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ typeSa1166768941_sconf @ G ) @ A ) @ F ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1024]) ).

thf(893,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ B ) @ C ) )
     => ( ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ B )
        = ( ti @ ( fun @ A @ bool ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_266_Un__absorb2) ).

thf(4337,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ B ) @ C ) )
     => ( ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ B )
        = ( ti @ ( fun @ A @ bool ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[893]) ).

thf(1006,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ F ) @ G ) @ H ) @ I ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_445_exp_Osimps_I182_J) ).

thf(4704,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ F ) @ G ) @ H ) @ I ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1006]) ).

thf(860,axiom,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i] :
          ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ C ) )
          = ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_311_sup__left__idem) ).

thf(4228,plain,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i] :
          ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ C ) )
          = ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[860]) ).

thf(692,axiom,
    ( ( ti @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ preallocated )
    = preallocated ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Exceptions_Opreallocated_res) ).

thf(3631,plain,
    ( ( ti @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ preallocated )
    = preallocated ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[692]) ).

thf(280,axiom,
    ! [A: $i] :
      ( nt
     != ( hAPP @ ( list @ char ) @ ty @ class @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_707_ty_Osimps_I20_J) ).

thf(2151,plain,
    ! [A: $i] :
      ( nt
     != ( hAPP @ ( list @ char ) @ ty @ class @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[280]) ).

thf(304,axiom,
    ( ( ti @ ( list @ char ) @ outOfMemory )
    = outOfMemory ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Exceptions_OOutOfMemory_res) ).

thf(2229,plain,
    ( ( ti @ ( list @ char ) @ outOfMemory )
    = outOfMemory ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[304]) ).

thf(1185,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ B ) @ A ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ D ) @ A ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_858_red__reds_OListRed1) ).

thf(5325,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ B ) @ A ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ D ) @ A ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1185]) ).

thf(882,axiom,
    ! [A: $i] :
      ( ( order @ A )
     => ! [B: $i,C: $i,D: $i] :
          ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ D ) )
         => ( ( ( ti @ A @ C )
              = ( ti @ A @ B ) )
           => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ D ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_210_xt1_I4_J) ).

thf(4305,plain,
    ! [A: $i] :
      ( ( order @ A )
     => ! [B: $i,C: $i,D: $i] :
          ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ D ) )
         => ( ( ( ti @ A @ C )
              = ( ti @ A @ B ) )
           => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[882]) ).

thf(452,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ B )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_358_exp_Osimps_I91_J) ).

thf(2774,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ B )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[452]) ).

thf(98,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( blank @ A ) )
      = ( blank @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Objects_Oblank_res) ).

thf(1524,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( blank @ A ) )
      = ( blank @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[98]) ).

thf(656,axiom,
    ! [A: $i,B: $i] :
      ( ~ ( hBOOL @ B )
      | ( hBOOL @ ( hAPP @ bool @ bool @ ( hAPP @ bool @ ( fun @ bool @ bool ) @ fdisj @ B ) @ A ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fdisj_1_1_U) ).

thf(3515,plain,
    ! [A: $i,B: $i] :
      ( ~ ( hBOOL @ B )
      | ( hBOOL @ ( hAPP @ bool @ bool @ ( hAPP @ bool @ ( fun @ bool @ bool ) @ fdisj @ B ) @ A ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[656]) ).

thf(1062,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( fun @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ C ) @ D ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ E ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) ) @ G ) ) )
     => ( ( ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ C ) @ D )
         != ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ E ) @ F ) )
       => ~ ! [H: $i,I: $i] :
              ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( fun @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ C ) @ D ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ H ) @ I ) ) ) @ G ) )
             => ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( fun @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ H ) @ I ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ E ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) ) @ G ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_197_converse__rtranclE2) ).

thf(4914,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( fun @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ C ) @ D ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ E ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) ) @ G ) ) )
     => ( ( ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ C ) @ D )
         != ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ E ) @ F ) )
       => ~ ! [H: $i,I: $i] :
              ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( fun @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ C ) @ D ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ H ) @ I ) ) ) @ G ) )
             => ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( fun @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ H ) @ I ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ E ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) ) @ G ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1062]) ).

thf(264,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( start_heap @ A ) )
      = ( start_heap @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Exceptions_Ostart__heap_res) ).

thf(2097,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( start_heap @ A ) )
      = ( start_heap @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[264]) ).

thf(126,axiom,
    hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ea ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ha ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ la ) @ v_1 ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ v ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ e_a ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ h_a ) @ l_a ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ p ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_1_InitBlockRed_I1_J) ).

thf(1603,plain,
    hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ea ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ha ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ la ) @ v_1 ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ v ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ e_a ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ h_a ) @ l_a ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ p ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[126]) ).

thf(326,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( list @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( list @ char ) ) @ ( list @ ( list @ char ) ) ) @ ( cons @ ( list @ char ) ) @ A ) @ B ) ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( list @ ty ) @ ( hAPP @ ty @ ( fun @ ( list @ ty ) @ ( list @ ty ) ) @ ( cons @ ty ) @ C ) @ D ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( list @ val ) @ ( hAPP @ val @ ( fun @ ( list @ val ) @ ( list @ val ) ) @ ( cons @ val ) @ E ) @ F ) ) @ G ) ) ) )
      = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ A ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ E ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ B ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ F ) @ G ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_879_blocks_Osimps_I1_J) ).

thf(2299,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( list @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( list @ char ) ) @ ( list @ ( list @ char ) ) ) @ ( cons @ ( list @ char ) ) @ A ) @ B ) ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( list @ ty ) @ ( hAPP @ ty @ ( fun @ ( list @ ty ) @ ( list @ ty ) ) @ ( cons @ ty ) @ C ) @ D ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( list @ val ) @ ( hAPP @ val @ ( fun @ ( list @ val ) @ ( list @ val ) ) @ ( cons @ val ) @ E ) @ F ) ) @ G ) ) ) )
      = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ A ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ E ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ B ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ F ) @ G ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[326]) ).

thf(718,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ D ) @ E ) @ F ) @ G ) ) @ H ) )
     => ( ( ( H = void )
         => ! [I: $i] :
              ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ ( hAPP @ ( list @ char ) @ ty @ class @ I ) ) )
             => ! [J: $i] :
                  ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) @ I ) @ E ) @ J ) @ F ) )
                 => ! [K: $i] :
                      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ G ) @ K ) )
                     => ~ ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) @ K ) @ J ) ) ) ) ) )
       => ~ ( ( H = void )
           => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ nt ) )
             => ! [I: $i] :
                  ~ ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ G ) @ I ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_721_WTrt__elim__cases_I8_J) ).

thf(3710,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ D ) @ E ) @ F ) @ G ) ) @ H ) )
     => ( ( ( H = void )
         => ! [I: $i] :
              ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ ( hAPP @ ( list @ char ) @ ty @ class @ I ) ) )
             => ! [J: $i] :
                  ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) @ I ) @ E ) @ J ) @ F ) )
                 => ! [K: $i] :
                      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ G ) @ K ) )
                     => ~ ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) @ K ) @ J ) ) ) ) ) )
       => ~ ( ( H = void )
           => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ nt ) )
             => ! [I: $i] :
                  ~ ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ G ) @ I ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[718]) ).

thf(506,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ C ) @ A ) @ B ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ E ) @ A ) @ B ) ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_392_red__reds_OFAccRed) ).

thf(2945,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ C ) @ A ) @ B ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ E ) @ A ) @ B ) ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[506]) ).

thf(573,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ G ) ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ G ) @ E ) @ F ) @ A ) @ B ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ G ) @ C ) @ D ) @ A ) @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_835_extend__1__evals) ).

thf(3197,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ G ) ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ G ) @ E ) @ F ) @ A ) @ B ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ G ) @ C ) @ D ) @ A ) @ B ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[573]) ).

thf(818,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ti @ A @ B )
       != ( ti @ A @ C ) )
      | ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( fequal @ A ) @ B ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fequal_2_1_T) ).

thf(4073,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ti @ A @ B )
       != ( ti @ A @ C ) )
      | ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( fequal @ A ) @ B ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[818]) ).

thf(1119,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ C ) @ D ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_430_exp_Osimps_I70_J) ).

thf(5093,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ C ) @ D ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1119]) ).

thf(553,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_359_exp_Osimps_I90_J) ).

thf(3138,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[553]) ).

thf(997,axiom,
    ! [A: $i] :
      ( ( hAPP @ nat @ val @ addr @ A )
     != unit ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_414_val_Osimps_I11_J) ).

thf(4667,plain,
    ! [A: $i] :
      ( ( hAPP @ nat @ val @ addr @ A )
     != unit ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[997]) ).

thf(460,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ H ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ I ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ I ) @ D ) @ A ) @ C ) @ B ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) @ D ) @ E ) @ A ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) @ G ) @ H ) @ A ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_877_reds__preserves__lconf) ).

thf(2802,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ H ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ I ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ I ) @ D ) @ A ) @ C ) @ B ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) @ D ) @ E ) @ A ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) @ G ) @ H ) @ A ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[460]) ).

thf(568,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_760_exp_Osimps_I35_J) ).

thf(3182,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[568]) ).

thf(492,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ C ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_758_exp_Osimps_I34_J) ).

thf(2896,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ C ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[492]) ).

thf(485,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ C ) ) )
    <=> ? [D: $i,E: $i] :
          ( ( C
            = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ B ) @ E ) ) )
          & ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_901_in__set__conv__decomp__last) ).

thf(2871,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ C ) ) )
       => ? [D: $i,E: $i] :
            ( ( C
              = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ B ) @ E ) ) )
            & ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ E ) ) ) ) )
      & ( ? [D: $i,E: $i] :
            ( ( C
              = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ B ) @ E ) ) )
            & ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ E ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ C ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[485]) ).

thf(946,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ! [G: $i,H: $i] :
          ( ( ( hAPP @ B @ ( product_prod @ C @ B ) @ ( hAPP @ C @ ( fun @ B @ ( product_prod @ C @ B ) ) @ ( product_Pair @ C @ B ) @ G ) @ H )
            = ( ti @ ( product_prod @ C @ B ) @ F ) )
         => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ ( hAPP @ C @ ( fun @ B @ ( fun @ A @ bool ) ) @ D @ G ) @ H ) @ E ) ) )
     => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ ( product_prod @ C @ B ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ C @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( fun @ ( product_prod @ C @ B ) @ ( fun @ A @ bool ) ) @ ( product_prod_case @ C @ B @ ( fun @ A @ bool ) ) @ D ) @ F ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_104_splitI2_H) ).

thf(4509,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ! [G: $i,H: $i] :
          ( ( ( hAPP @ B @ ( product_prod @ C @ B ) @ ( hAPP @ C @ ( fun @ B @ ( product_prod @ C @ B ) ) @ ( product_Pair @ C @ B ) @ G ) @ H )
            = ( ti @ ( product_prod @ C @ B ) @ F ) )
         => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ ( hAPP @ C @ ( fun @ B @ ( fun @ A @ bool ) ) @ D @ G ) @ H ) @ E ) ) )
     => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ ( product_prod @ C @ B ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ C @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( fun @ ( product_prod @ C @ B ) @ ( fun @ A @ bool ) ) @ ( product_prod_case @ C @ B @ ( fun @ A @ bool ) ) @ D ) @ F ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[946]) ).

thf(73,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ A ) @ B ) @ C ) @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_548_wt_H__wt) ).

thf(1439,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ A ) @ B ) @ C ) @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[73]) ).

thf(256,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( option @ A ) @ A ) @ ( the @ A ) )
      = ( the @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Option_Othe_res) ).

thf(2065,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( option @ A ) @ A ) @ ( the @ A ) )
      = ( the @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[256]) ).

thf(911,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_828_redp__redsp_OCallThrowObj) ).

thf(4388,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[911]) ).

thf(641,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ E ) @ F ) @ G ) @ H ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_375_exp_Osimps_I154_J) ).

thf(3456,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ E ) @ F ) @ G ) @ H ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[641]) ).

thf(987,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ C ) )
      = ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_250_Un__left__absorb) ).

thf(4635,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ C ) )
      = ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[987]) ).

thf(464,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( option @ val ) @ binop @ ( hAPP @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( hAPP @ bop @ ( fun @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) ) @ ( product_Pair @ bop @ ( product_prod @ val @ val ) ) @ C ) @ ( hAPP @ val @ ( product_prod @ val @ val ) @ ( hAPP @ val @ ( fun @ val @ ( product_prod @ val @ val ) ) @ ( product_Pair @ val @ val ) @ D ) @ E ) ) )
        = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ E ) ) ) @ B ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ F ) ) @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_524_redp__redsp_ORedBinOp) ).

thf(2812,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( option @ val ) @ binop @ ( hAPP @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( hAPP @ bop @ ( fun @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) ) @ ( product_Pair @ bop @ ( product_prod @ val @ val ) ) @ C ) @ ( hAPP @ val @ ( product_prod @ val @ val ) @ ( hAPP @ val @ ( fun @ val @ ( product_prod @ val @ val ) ) @ ( product_Pair @ val @ val ) @ D ) @ E ) ) )
        = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ E ) ) ) @ B ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ F ) ) @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[464]) ).

thf(957,axiom,
    ! [A: $i] :
      ( ( lattice @ A )
     => ! [B: $i,C: $i] : ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_326_inf__sup__ord_I4_J) ).

thf(4541,plain,
    ! [A: $i] :
      ( ( lattice @ A )
     => ! [B: $i,C: $i] : ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[957]) ).

thf(1038,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) @ G ) @ H ) )
     => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ B ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_906_sees__method__is__class) ).

thf(4833,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) @ G ) @ H ) )
     => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ B ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1038]) ).

thf(538,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ C ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ D ) ) )
    <=> ? [E: $i,F: $i,G: $i] :
          ( ( B = E )
          & ( C = F )
          & ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ D ) @ E )
            = ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ F ) @ G ) ) )
          & ( E != object ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_729_subcls1_Osimps) ).

thf(3073,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ C ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ D ) ) )
       => ? [E: $i,F: $i,G: $i] :
            ( ( B = E )
            & ( C = F )
            & ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ D ) @ E )
              = ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ F ) @ G ) ) )
            & ( E != object ) ) )
      & ( ? [E: $i,F: $i,G: $i] :
            ( ( B = E )
            & ( C = F )
            & ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ D ) @ E )
              = ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ F ) @ G ) ) )
            & ( E != object ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ C ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[538]) ).

thf(236,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_497_exp_Osimps_I58_J) ).

thf(1993,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[236]) ).

thf(316,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ D ) @ E ) @ F ) @ G ) @ H ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ C ) @ E ) ) @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ C ) @ G ) ) @ H ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_300_redp__redsp_OFAssRed2) ).

thf(2267,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ D ) @ E ) @ F ) @ G ) @ H ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ C ) @ E ) ) @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ C ) @ G ) ) @ H ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[316]) ).

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] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ I ) @ J )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ K ) @ L ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ B ) @ K ) @ C ) @ D ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ F ) @ G ) ) @ H ) )
       => ( ( ( hAPP @ ( list @ val ) @ nat @ ( size_size @ ( list @ val ) ) @ A )
            = ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ F ) )
         => ( ( ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ D )
              = ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ F ) )
           => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ B ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ J ) ) ) @ C ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ A ) ) ) @ I ) @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( list @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( list @ char ) ) @ ( list @ ( list @ char ) ) ) @ ( cons @ ( list @ char ) ) @ this ) @ F ) ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( list @ ty ) @ ( hAPP @ ty @ ( fun @ ( list @ ty ) @ ( list @ ty ) ) @ ( cons @ ty ) @ ( hAPP @ ( list @ char ) @ ty @ class @ H ) ) @ D ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( list @ val ) @ ( hAPP @ val @ ( fun @ ( list @ val ) @ ( list @ val ) ) @ ( cons @ val ) @ ( hAPP @ nat @ val @ addr @ J ) ) @ A ) ) @ G ) ) ) ) ) @ I ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_952_redp__redsp_ORedCall) ).

thf(1821,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] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ I ) @ J )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ K ) @ L ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ B ) @ K ) @ C ) @ D ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ F ) @ G ) ) @ H ) )
       => ( ( ( hAPP @ ( list @ val ) @ nat @ ( size_size @ ( list @ val ) ) @ A )
            = ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ F ) )
         => ( ( ( hAPP @ ( list @ ty ) @ nat @ ( size_size @ ( list @ ty ) ) @ D )
              = ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ F ) )
           => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ B ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ J ) ) ) @ C ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ A ) ) ) @ I ) @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) @ blocks @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( list @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( list @ char ) ) @ ( list @ ( list @ char ) ) ) @ ( cons @ ( list @ char ) ) @ this ) @ F ) ) @ ( hAPP @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( list @ ty ) @ ( list @ ty ) @ ( hAPP @ ty @ ( fun @ ( list @ ty ) @ ( list @ ty ) ) @ ( cons @ ty ) @ ( hAPP @ ( list @ char ) @ ty @ class @ H ) ) @ D ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( list @ val ) @ ( hAPP @ val @ ( fun @ ( list @ val ) @ ( list @ val ) ) @ ( cons @ val ) @ ( hAPP @ nat @ val @ addr @ J ) ) @ A ) ) @ G ) ) ) ) ) @ I ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[188]) ).

thf(447,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ! [F: $i] :
          ( ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ F ) @ ( hAPP @ ( list @ B ) @ ( fun @ B @ bool ) @ ( set @ B ) @ E ) ) )
         => ( ( hAPP @ B @ A @ C @ F )
            = ( hAPP @ B @ A @ D @ F ) ) )
     => ( ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ C ) @ E )
        = ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ D ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_911_map__ext) ).

thf(2757,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ! [F: $i] :
          ( ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ F ) @ ( hAPP @ ( list @ B ) @ ( fun @ B @ bool ) @ ( set @ B ) @ E ) ) )
         => ( ( hAPP @ B @ A @ C @ F )
            = ( hAPP @ B @ A @ D @ F ) ) )
     => ( ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ C ) @ E )
        = ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ D ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[447]) ).

thf(686,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) @ D ) @ E ) ) @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_387_redp__redsp_OFAssThrow1) ).

thf(3614,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) @ D ) @ E ) ) @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[686]) ).

thf(790,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts @ A ) @ B ) @ C ) @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ A ) @ B ) @ C ) @ D ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_972_wts_H__wts) ).

thf(3971,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts @ A ) @ B ) @ C ) @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ A ) @ B ) @ C ) @ D ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[790]) ).

thf(396,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ A ) @ ( combi @ A ) )
      = ( combi @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_COMBI_res) ).

thf(2553,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ A ) @ ( combi @ A ) )
      = ( combi @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[396]) ).

thf(62,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_673_exp_Osimps_I63_J) ).

thf(1381,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[62]) ).

thf(475,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ? [D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ C @ D ) )
    <=> ? [D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ C @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ D ) @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_36_split__paired__Ex) ).

thf(2842,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ? [D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ C @ D ) )
       => ? [D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ C @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ D ) @ E ) ) ) )
      & ( ? [D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ C @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ D ) @ E ) ) )
       => ? [D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ C @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[475]) ).

thf(433,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
        = ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ C ) )
    <=> ( B = C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_745_exp_Osimps_I1_J) ).

thf(2710,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
          = ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ C ) )
       => ( B = C ) )
      & ( ( B = C )
       => ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
          = ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[433]) ).

thf(154,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ C ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_429_exp_Osimps_I92_J) ).

thf(1688,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ C ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[154]) ).

thf(580,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ B ) @ C ) ) @ D ) @ E ) @ F ) )
     => ( ( ( E
            = ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) )
         => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ D ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fFalse ) ) ) @ F ) ) )
       => ( ! [G: $i] :
              ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ D ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fTrue ) ) ) @ G ) )
             => ! [H: $i,I: $i] :
                  ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ C ) @ G ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ H ) ) @ I ) )
                 => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ B ) @ C ) ) @ I ) @ E ) @ F ) ) ) )
         => ( ! [G: $i] :
                ( ( E
                  = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ G ) )
               => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ G ) ) @ F ) ) )
           => ~ ! [G: $i,H: $i] :
                  ( ( E
                    = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ H ) )
                 => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ D ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fTrue ) ) ) @ G ) )
                   => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ C ) @ G ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ H ) ) @ F ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_658_eval__cases_I11_J) ).

thf(3219,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ B ) @ C ) ) @ D ) @ E ) @ F ) )
     => ( ( ( E
            = ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) )
         => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ D ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fFalse ) ) ) @ F ) ) )
       => ( ! [G: $i] :
              ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ D ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fTrue ) ) ) @ G ) )
             => ! [H: $i,I: $i] :
                  ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ C ) @ G ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ H ) ) @ I ) )
                 => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ B ) @ C ) ) @ I ) @ E ) @ F ) ) ) )
         => ( ! [G: $i] :
                ( ( E
                  = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ G ) )
               => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ G ) ) @ F ) ) )
           => ~ ! [G: $i,H: $i] :
                  ( ( E
                    = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ H ) )
                 => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ D ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fTrue ) ) ) @ G ) )
                   => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ C ) @ G ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ H ) ) @ F ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[580]) ).

thf(468,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ B ) )
      = ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_486_fv__fvs_Osimps_I2_J) ).

thf(2824,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ B ) )
      = ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[468]) ).

thf(853,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) ) @ ( append @ A ) )
      = ( append @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_List_Oappend_res) ).

thf(4203,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) ) @ ( append @ A ) )
      = ( append @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[853]) ).

thf(204,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ C ) @ A ) @ B ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ E ) @ A ) @ B ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_468_BinOp1Reds) ).

thf(1877,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ C ) @ A ) @ B ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ E ) @ A ) @ B ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[204]) ).

thf(1151,axiom,
    ! [A: $i,B: $i] :
      ( ( ( hAPP @ bool @ val @ bool_1 @ A )
        = ( hAPP @ bool @ val @ bool_1 @ B ) )
    <=> ( ( hBOOL @ A )
      <=> ( hBOOL @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_613_val_Osimps_I1_J) ).

thf(5202,plain,
    ! [A: $i,B: $i] :
      ( ( ( ( hAPP @ bool @ val @ bool_1 @ A )
          = ( hAPP @ bool @ val @ bool_1 @ B ) )
       => ( ( ( hBOOL @ A )
           => ( hBOOL @ B ) )
          & ( ( hBOOL @ B )
           => ( hBOOL @ A ) ) ) )
      & ( ( ( ( hBOOL @ A )
           => ( hBOOL @ B ) )
          & ( ( hBOOL @ B )
           => ( hBOOL @ A ) ) )
       => ( ( hAPP @ bool @ val @ bool_1 @ A )
          = ( hAPP @ bool @ val @ bool_1 @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1151]) ).

thf(723,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( semilattice_sup_sup @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ C ) @ D ) @ E ) @ F ) )
     => ( ~ ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ C @ E ) @ F ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ D @ E ) @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_342_sup2E) ).

thf(3747,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( semilattice_sup_sup @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ C ) @ D ) @ E ) @ F ) )
     => ( ~ ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ C @ E ) @ F ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ D @ E ) @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[723]) ).

thf(1050,axiom,
    ! [A: $i] :
      ( ( order @ A )
     => ! [B: $i,C: $i] :
          ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ C ) )
         => ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ B ) )
           => ( ( ti @ A @ C )
              = ( ti @ A @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_207_xt1_I5_J) ).

thf(4882,plain,
    ! [A: $i] :
      ( ( order @ A )
     => ! [B: $i,C: $i] :
          ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ C ) )
         => ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ B ) )
           => ( ( ti @ A @ C )
              = ( ti @ A @ B ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1050]) ).

thf(535,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ D ) @ E ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ D @ A )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ B ) @ C ) ) )
       => ? [F: $i] :
            ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ E @ A )
            = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ B ) @ F ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_101_hext__objD) ).

thf(3055,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ D ) @ E ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ D @ A )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ B ) @ C ) ) )
       => ? [F: $i] :
            ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ E @ A )
            = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ B ) @ F ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[535]) ).

thf(779,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ A @ B @ ( hAPP @ B @ ( fun @ A @ B ) @ ( combk @ B @ A ) @ C ) @ D )
      = ( ti @ B @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_COMBK_1_1_U) ).

thf(3932,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ A @ B @ ( hAPP @ B @ ( fun @ A @ B ) @ ( combk @ B @ A ) @ C ) @ D )
      = ( ti @ B @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[779]) ).

thf(213,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ D ) @ E ) @ ( none @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ H ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) )
     => ( ( ( hAPP @ ( list @ char ) @ ( option @ val ) @ H @ E )
          = ( none @ val ) )
       => ( ~ ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ bool ) @ assigned @ E ) @ B ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ E ) @ A ) @ B ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ E ) @ A ) @ F ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ H ) @ E ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ D @ E ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_164_red__reds_OBlockRedNone) ).

thf(1909,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ D ) @ E ) @ ( none @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ H ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) )
     => ( ( ( hAPP @ ( list @ char ) @ ( option @ val ) @ H @ E )
          = ( none @ val ) )
       => ( ~ ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ bool ) @ assigned @ E ) @ B ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ E ) @ A ) @ B ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ E ) @ A ) @ F ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ H ) @ E ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ D @ E ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[213]) ).

thf(1174,axiom,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i] :
          ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ C ) )
         => ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ B )
            = ( ti @ A @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_333_sup__absorb1) ).

thf(5286,plain,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i] :
          ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ C ) )
         => ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ B )
            = ( ti @ A @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1174]) ).

thf(562,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_746_exp_Osimps_I43_J) ).

thf(3165,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[562]) ).

thf(848,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ F ) @ G ) @ H ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_298_exp_Osimps_I172_J) ).

thf(4181,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ F ) @ G ) @ H ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[848]) ).

thf(891,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ C ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ D ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ C ) @ B ) @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_154_oconf__hext) ).

thf(4332,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ C ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ D ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ C ) @ B ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[891]) ).

thf(571,axiom,
    ( ( ti @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ l_a )
    = l_a ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_l_Ha_____res) ).

thf(3192,plain,
    ( ( ti @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ l_a )
    = l_a ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[571]) ).

thf(455,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) ) @ ( wf_cdecl @ A ) @ B ) @ C ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ D ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ E ) @ F ) ) ) )
     => ( ( D != object )
       => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ C ) @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_704_wf__cdecl__supD) ).

thf(2785,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) ) @ ( wf_cdecl @ A ) @ B ) @ C ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ D ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ E ) @ F ) ) ) )
     => ( ( D != object )
       => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ C ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[455]) ).

thf(1040,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ B ) @ C ) @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_354_redp__redsp_OThrowRed) ).

thf(4850,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ B ) @ C ) @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1040]) ).

thf(639,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) @ G ) @ H ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ H ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_908_sees__method__decl__above) ).

thf(3451,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) @ G ) @ H ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ H ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ B ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[639]) ).

thf(418,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( option @ A ) @ A @ ( the @ A ) @ ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ B ) )
      = ( ti @ A @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_179_the_Osimps) ).

thf(2664,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( option @ A ) @ A @ ( the @ A ) @ ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ B ) )
      = ( ti @ A @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[418]) ).

thf(760,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) ) @ ( methods @ A ) @ C ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) ) @ ( methods @ A ) @ C ) @ D ) @ B ) )
       => ( B = E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_915_sees__methods__fun) ).

thf(3861,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) ) @ ( methods @ A ) @ C ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) ) @ ( methods @ A ) @ C ) @ D ) @ B ) )
       => ( B = E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[760]) ).

thf(646,axiom,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) ) @ red )
    = red ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_SmallStep_Ored_res) ).

thf(3480,plain,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) ) @ red )
    = red ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[646]) ).

thf(122,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ G ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ G ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ D ) ) @ A ) @ C ) @ B ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ typeSa1166768941_sconf @ G ) @ A ) @ D ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ typeSa1166768941_sconf @ G ) @ A ) @ F ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_871_reds__preserves__sconf) ).

thf(1594,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ G ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ G ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ D ) ) @ A ) @ C ) @ B ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ typeSa1166768941_sconf @ G ) @ A ) @ D ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ typeSa1166768941_sconf @ G ) @ A ) @ F ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[122]) ).

thf(691,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ C ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_759_exp_Osimps_I24_J) ).

thf(3627,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ C ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[691]) ).

thf(1149,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ G ) @ E ) @ F ) @ A ) @ B ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ G ) @ C ) @ D ) @ A ) @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_234_extend__eval) ).

thf(5197,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ G ) @ E ) @ F ) @ A ) @ B ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ G ) @ C ) @ D ) @ A ) @ B ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1149]) ).

thf(785,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ C ) @ D ) @ E ) @ F ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts @ C ) @ D ) @ E ) @ A ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts @ C ) @ D ) @ E ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ F ) @ A ) ) @ ( hAPP @ ( list @ ty ) @ ( list @ ty ) @ ( hAPP @ ty @ ( fun @ ( list @ ty ) @ ( list @ ty ) ) @ ( cons @ ty ) @ G ) @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_976_WTrt_H__WTrts_H_Ointros_I15_J) ).

thf(3953,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ C ) @ D ) @ E ) @ F ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts @ C ) @ D ) @ E ) @ A ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts @ C ) @ D ) @ E ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ F ) @ A ) ) @ ( hAPP @ ( list @ ty ) @ ( list @ ty ) @ ( hAPP @ ty @ ( fun @ ( list @ ty ) @ ( list @ ty ) ) @ ( cons @ ty ) @ G ) @ B ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[785]) ).

thf(309,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ C ) @ D ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_119_exp_Osimps_I82_J) ).

thf(2244,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ C ) @ D ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[309]) ).

thf(554,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ E ) @ F ) @ G ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ H ) ) @ I ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ E ) @ B ) @ I ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ C ) ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ F ) @ A ) @ B ) ) @ G ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ C ) ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_463_eval__evals_OBinOpThrow2) ).

thf(3142,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ E ) @ F ) @ G ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ H ) ) @ I ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ E ) @ B ) @ I ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ C ) ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ F ) @ A ) @ B ) ) @ G ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ C ) ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[554]) ).

thf(515,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_805_exp_Osimps_I81_J) ).

thf(2967,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[515]) ).

thf(1118,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_438_exp_Osimps_I106_J) ).

thf(5089,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1118]) ).

thf(855,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ F ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ B ) @ C ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ A ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_417_WTrtThrow) ).

thf(4209,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ F ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ B ) @ C ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ A ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[855]) ).

thf(484,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_645_exp_Osimps_I89_J) ).

thf(2867,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[484]) ).

thf(451,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_676_exp_Osimps_I109_J) ).

thf(2770,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[451]) ).

thf(1067,axiom,
    ! [A: $i,B: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ B ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( member @ ( list @ char ) ) @ A ) @ sys_xcpts ) )
       => ( hBOOL @ ( hAPP @ ( fun @ nat @ bool ) @ bool @ ( hAPP @ nat @ ( fun @ ( fun @ nat @ bool ) @ bool ) @ ( member @ nat ) @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ A ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ bool ) @ ( dom @ nat @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_618_preallocated__dom) ).

thf(4933,plain,
    ! [A: $i,B: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ B ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( member @ ( list @ char ) ) @ A ) @ sys_xcpts ) )
       => ( hBOOL @ ( hAPP @ ( fun @ nat @ bool ) @ bool @ ( hAPP @ nat @ ( fun @ ( fun @ nat @ bool ) @ bool ) @ ( member @ nat ) @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ A ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ bool ) @ ( dom @ nat @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ B ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1067]) ).

thf(7,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ B ) @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ B ) ) ) @ ( comp @ A @ B @ C ) )
      = ( comp @ A @ B @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Fun_Ocomp_res) ).

thf(1198,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ B ) @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ B ) ) ) @ ( comp @ A @ B @ C ) )
      = ( comp @ A @ B @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[7]) ).

thf(66,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( product_curry @ B @ A @ bool ) @ C ) @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ B @ A ) @ bool @ C @ ( hAPP @ A @ ( product_prod @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( product_Pair @ B @ A ) @ D ) @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_82_curryD) ).

thf(1396,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( product_curry @ B @ A @ bool ) @ C ) @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ B @ A ) @ bool @ C @ ( hAPP @ A @ ( product_prod @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( product_Pair @ B @ A ) @ D ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[66]) ).

thf(727,axiom,
    ! [A: $i] :
      ( ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) )
      = ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_355_fv__fvs_Osimps_I14_J) ).

thf(3759,plain,
    ! [A: $i] :
      ( ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) )
      = ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[727]) ).

thf(472,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_158_LAssReds) ).

thf(2835,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[472]) ).

thf(76,axiom,
    ( ( ti @ ( fun @ bool @ ( fun @ bool @ bool ) ) @ fdisj )
    = fdisj ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fdisj_res) ).

thf(1445,plain,
    ( ( ti @ ( fun @ bool @ ( fun @ bool @ bool ) ) @ fdisj )
    = fdisj ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[76]) ).

thf(411,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E = F )
     => ( ! [G: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ G ) @ ( hAPP @ ( list @ B ) @ ( fun @ B @ bool ) @ ( set @ B ) @ F ) ) )
           => ( ( hAPP @ B @ A @ C @ G )
              = ( hAPP @ B @ A @ D @ G ) ) )
       => ( ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ C ) @ E )
          = ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ D ) @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_913_map__cong) ).

thf(2620,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E = F )
     => ( ! [G: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ G ) @ ( hAPP @ ( list @ B ) @ ( fun @ B @ bool ) @ ( set @ B ) @ F ) ) )
           => ( ( hAPP @ B @ A @ C @ G )
              = ( hAPP @ B @ A @ D @ G ) ) )
       => ( ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ C ) @ E )
          = ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ D ) @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[411]) ).

thf(944,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ A ) @ B ) @ C ) )
      = ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_357_fv__fvs_Osimps_I7_J) ).

thf(4502,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ A ) @ B ) @ C ) )
      = ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[944]) ).

thf(906,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ C ) @ D ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ C ) @ A ) @ B ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( new @ ( list @ char ) ) @ D ) ) @ ( hAPP @ ( list @ char ) @ ty @ class @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_768_WTrt_H__WTrts_H_Ointros_I1_J) ).

thf(4373,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ C ) @ D ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ C ) @ A ) @ B ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( new @ ( list @ char ) ) @ D ) ) @ ( hAPP @ ( list @ char ) @ ty @ class @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[906]) ).

thf(277,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ A @ ( option @ B ) @ C @ D )
        = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_70_domI) ).

thf(2139,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ A @ ( option @ B ) @ C @ D )
        = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[277]) ).

thf(1161,axiom,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i] :
          ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ C ) )
          = ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_309_sup_Oleft__idem) ).

thf(5248,plain,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i] :
          ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ C ) )
          = ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1161]) ).

thf(560,axiom,
    ( ( ti @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ la )
    = la ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_la_____res) ).

thf(3159,plain,
    ( ( ti @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ la )
    = la ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[560]) ).

thf(902,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ C ) ) @ D )
      = ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_253_Un__assoc) ).

thf(4362,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ C ) ) @ D )
      = ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[902]) ).

thf(502,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ D ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_496_exp_Osimps_I54_J) ).

thf(2931,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ D ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[502]) ).

thf(1103,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ B @ C )
        = ( none @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ B ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ B ) @ C ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ A ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_189_hext__new) ).

thf(5042,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ B @ C )
        = ( none @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ B ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ B ) @ C ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ A ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1103]) ).

thf(245,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_110_exp_Osimps_I142_J) ).

thf(2022,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[245]) ).

thf(601,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ C )
        = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ D ) )
    <=> ( C = D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_792_same__append__eq) ).

thf(3310,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ C )
          = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ D ) )
       => ( C = D ) )
      & ( ( C = D )
       => ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ C )
          = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[601]) ).

thf(942,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod_case @ A @ B @ bool ) @ C ) @ D ) )
     => ~ ! [E: $i,F: $i] :
            ( ( ( ti @ ( product_prod @ A @ B ) @ D )
              = ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ E ) @ F ) )
           => ~ ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ C @ E ) @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_87_splitE) ).

thf(4497,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod_case @ A @ B @ bool ) @ C ) @ D ) )
     => ~ ! [E: $i,F: $i] :
            ( ( ( ti @ ( product_prod @ A @ B ) @ D )
              = ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ E ) @ F ) )
           => ~ ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ C @ E ) @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[942]) ).

thf(984,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ C ) @ D )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ E ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ D ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_533_typeof__conf) ).

thf(4626,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ C ) @ D )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ E ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ D ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[984]) ).

thf(297,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ D ) )
     => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_257_UnI2) ).

thf(2207,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ D ) )
     => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[297]) ).

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] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ F ) @ G ) @ H ) @ I ) @ J ) @ K ) @ L ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ F ) @ G ) @ H ) @ B ) @ C ) @ D ) @ E ) )
       => ( ( B = I )
          & ( C = J )
          & ( ( ti @ A @ D )
            = ( ti @ A @ K ) )
          & ( E = L ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_904_sees__method__fun) ).

thf(5139,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] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ F ) @ G ) @ H ) @ I ) @ J ) @ K ) @ L ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ F ) @ G ) @ H ) @ B ) @ C ) @ D ) @ E ) )
       => ( ( B = I )
          & ( C = J )
          & ( ( ti @ A @ D )
            = ( ti @ A @ K ) )
          & ( E = L ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1133]) ).

thf(1053,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( option @ val ) @ binop @ ( hAPP @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( hAPP @ bop @ ( fun @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) ) @ ( product_Pair @ bop @ ( product_prod @ val @ val ) ) @ add ) @ ( hAPP @ val @ ( product_prod @ val @ val ) @ ( hAPP @ val @ ( fun @ val @ ( product_prod @ val @ val ) ) @ ( product_Pair @ val @ val ) @ A ) @ ( hAPP @ bool @ val @ bool_1 @ B ) ) ) )
      = ( none @ val ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_610_binop_Osimps_I9_J) ).

thf(4890,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( option @ val ) @ binop @ ( hAPP @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( hAPP @ bop @ ( fun @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) ) @ ( product_Pair @ bop @ ( product_prod @ val @ val ) ) @ add ) @ ( hAPP @ val @ ( product_prod @ val @ val ) @ ( hAPP @ val @ ( fun @ val @ ( product_prod @ val @ val ) ) @ ( product_Pair @ val @ val ) @ A ) @ ( hAPP @ bool @ val @ bool_1 @ B ) ) ) )
      = ( none @ val ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1053]) ).

thf(156,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) @ E )
        = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) )
    <=> ( ( ( hAPP @ A @ ( option @ B ) @ D @ E )
          = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) )
        | ( ( ( hAPP @ A @ ( option @ B ) @ D @ E )
            = ( none @ B ) )
          & ( ( hAPP @ A @ ( option @ B ) @ C @ E )
            = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_156_map__add__Some__iff) ).

thf(1694,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) @ E )
          = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) )
       => ( ( ( hAPP @ A @ ( option @ B ) @ D @ E )
            = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) )
          | ( ( ( hAPP @ A @ ( option @ B ) @ D @ E )
              = ( none @ B ) )
            & ( ( hAPP @ A @ ( option @ B ) @ C @ E )
              = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) ) ) ) )
      & ( ( ( ( hAPP @ A @ ( option @ B ) @ D @ E )
            = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) )
          | ( ( ( hAPP @ A @ ( option @ B ) @ D @ E )
              = ( none @ B ) )
            & ( ( hAPP @ A @ ( option @ B ) @ C @ E )
              = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) ) ) )
       => ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) @ E )
          = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[156]) ).

thf(428,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redsp @ A ) @ B ) @ C ) @ D ) @ E ) )
    <=> ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ A ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_878_redsp__reds__eq) ).

thf(2693,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redsp @ A ) @ B ) @ C ) @ D ) @ E ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ A ) ) ) )
      & ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ A ) ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redsp @ A ) @ B ) @ C ) @ D ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[428]) ).

thf(385,axiom,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_272_Val) ).

thf(2506,plain,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[385]) ).

thf(110,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ E ) @ F )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ G ) @ H ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ G ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ D ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) ) @ C ) @ A ) @ B ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ A ) @ ( hAPP @ ( list @ char ) @ ty @ class @ C ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) ) @ B ) ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_480_red__reds_ORedTryCatch) ).

thf(1562,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ E ) @ F )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ G ) @ H ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ G ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ D ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) ) @ C ) @ A ) @ B ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ A ) @ ( hAPP @ ( list @ char ) @ ty @ class @ C ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) ) @ B ) ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[110]) ).

thf(822,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ A ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ C ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_838_evals__hext) ).

thf(4084,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ A ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ C ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[822]) ).

thf(766,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ A ) @ B ) @ C ) )
    <=> ( ! [D: $i,E: $i] :
            ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ C @ D )
              = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ E ) )
           => ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ B ) @ C ) @ E ) ) )
        & ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_420_hconf__def) ).

thf(3881,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ A ) @ B ) @ C ) )
       => ( ! [D: $i,E: $i] :
              ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ C @ D )
                = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ E ) )
             => ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ B ) @ C ) @ E ) ) )
          & ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ C ) ) ) )
      & ( ( ! [D: $i,E: $i] :
              ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ C @ D )
                = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ E ) )
             => ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ B ) @ C ) @ E ) ) )
          & ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ C ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ A ) @ B ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[766]) ).

thf(224,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( ( ti @ B @ E )
          = ( ti @ B @ F ) )
       => ( ( hAPP @ B @ A @ ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ F ) @ D ) @ E )
          = ( ti @ A @ D ) ) )
      & ( ( ( ti @ B @ E )
         != ( ti @ B @ F ) )
       => ( ( hAPP @ B @ A @ ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ F ) @ D ) @ E )
          = ( hAPP @ B @ A @ C @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_22_fun__upd__apply) ).

thf(1948,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( ( ti @ B @ E )
          = ( ti @ B @ F ) )
       => ( ( hAPP @ B @ A @ ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ F ) @ D ) @ E )
          = ( ti @ A @ D ) ) )
      & ( ( ( ti @ B @ E )
         != ( ti @ B @ F ) )
       => ( ( hAPP @ B @ A @ ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ F ) @ D ) @ E )
          = ( hAPP @ B @ A @ C @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[224]) ).

thf(186,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ D ) @ ( hAPP @ ( list @ char ) @ ty @ class @ E ) ) )
     => ( ( D = null )
        | ? [F: $i,G: $i,H: $i] :
            ( ( D
              = ( hAPP @ nat @ val @ addr @ F ) )
            & ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ C @ F )
              = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ G ) )
            & ( ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ty @ obj_ty @ G )
              = H )
            & ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ H ) @ ( hAPP @ ( list @ char ) @ ty @ class @ E ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_883_conf__ClassD) ).

thf(1809,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ C ) @ D ) @ ( hAPP @ ( list @ char ) @ ty @ class @ E ) ) )
     => ( ( D = null )
        | ? [F: $i,G: $i,H: $i] :
            ( ( D
              = ( hAPP @ nat @ val @ addr @ F ) )
            & ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ C @ F )
              = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ G ) )
            & ( ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ty @ obj_ty @ G )
              = H )
            & ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ H ) @ ( hAPP @ ( list @ char ) @ ty @ class @ E ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[186]) ).

thf(42,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ B ) @ C ) ) @ D ) @ E ) @ F ) )
     => ( ! [G: $i,H: $i] :
            ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ D ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ G ) ) @ H ) )
           => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ C ) @ H ) @ E ) @ F ) ) )
       => ~ ! [G: $i] :
              ( ( E
                = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ G ) )
             => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ G ) ) @ F ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_412_eval__cases_I9_J) ).

thf(1304,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ B ) @ C ) ) @ D ) @ E ) @ F ) )
     => ( ! [G: $i,H: $i] :
            ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ D ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ G ) ) @ H ) )
           => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ C ) @ H ) @ E ) @ F ) ) )
       => ~ ! [G: $i] :
              ( ( E
                = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ G ) )
             => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ G ) ) @ F ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[42]) ).

thf(267,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ! [F: $i,G: $i] :
          ( ( hAPP @ A @ B @ ( hAPP @ C @ ( fun @ A @ B ) @ D @ F ) @ G )
          = ( hAPP @ ( product_prod @ C @ A ) @ B @ E @ ( hAPP @ A @ ( product_prod @ C @ A ) @ ( hAPP @ C @ ( fun @ A @ ( product_prod @ C @ A ) ) @ ( product_Pair @ C @ A ) @ F ) @ G ) ) )
     => ( ( hAPP @ ( fun @ C @ ( fun @ A @ B ) ) @ ( fun @ ( product_prod @ C @ A ) @ B ) @ ( product_prod_case @ C @ A @ B ) @ D )
        = ( ti @ ( fun @ ( product_prod @ C @ A ) @ B ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_93_cond__split__eta) ).

thf(2107,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ! [F: $i,G: $i] :
          ( ( hAPP @ A @ B @ ( hAPP @ C @ ( fun @ A @ B ) @ D @ F ) @ G )
          = ( hAPP @ ( product_prod @ C @ A ) @ B @ E @ ( hAPP @ A @ ( product_prod @ C @ A ) @ ( hAPP @ C @ ( fun @ A @ ( product_prod @ C @ A ) ) @ ( product_Pair @ C @ A ) @ F ) @ G ) ) )
     => ( ( hAPP @ ( fun @ C @ ( fun @ A @ B ) ) @ ( fun @ ( product_prod @ C @ A ) @ B ) @ ( product_prod_case @ C @ A @ B ) @ D )
        = ( ti @ ( fun @ ( product_prod @ C @ A ) @ B ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[267]) ).

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(623,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ D ) @ E ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ F ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ H ) ) )
     => ( ( A
          = ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ H ) @ B ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ F ) ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ B ) @ D ) ) @ E ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ A ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_236_LAss) ).

thf(3395,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ D ) @ E ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ F ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ H ) ) )
     => ( ( A
          = ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ H ) @ B ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ F ) ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ B ) @ D ) ) @ E ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ A ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[623]) ).

thf(952,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ C ) @ D ) @ E ) )
     => ( ( hAPP @ ( list @ B ) @ nat @ ( size_size @ ( list @ B ) ) @ D )
        = ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_959_list__all2__lengthD) ).

thf(4529,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ C ) @ D ) @ E ) )
     => ( ( hAPP @ ( list @ B ) @ nat @ ( size_size @ ( list @ B ) ) @ D )
        = ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[952]) ).

thf(384,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( product_prod @ A @ B ) @ C @ ( hAPP @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( product_prod_case @ A @ B @ C ) @ F ) @ ( hAPP @ ( product_prod @ D @ E ) @ ( product_prod @ A @ B ) @ ( hAPP @ ( fun @ D @ ( fun @ E @ ( product_prod @ A @ B ) ) ) @ ( fun @ ( product_prod @ D @ E ) @ ( product_prod @ A @ B ) ) @ ( product_prod_case @ D @ E @ ( product_prod @ A @ B ) ) @ G ) @ H ) )
      = ( hAPP @ ( product_prod @ D @ E ) @ C @ ( hAPP @ ( fun @ D @ ( fun @ E @ C ) ) @ ( fun @ ( product_prod @ D @ E ) @ C ) @ ( product_prod_case @ D @ E @ C ) @ ( hAPP @ ( fun @ D @ ( fun @ E @ ( product_prod @ A @ B ) ) ) @ ( fun @ D @ ( fun @ E @ C ) ) @ ( hAPP @ ( fun @ ( fun @ E @ ( product_prod @ A @ B ) ) @ ( fun @ E @ C ) ) @ ( fun @ ( fun @ D @ ( fun @ E @ ( product_prod @ A @ B ) ) ) @ ( fun @ D @ ( fun @ E @ C ) ) ) @ ( combb @ ( fun @ E @ ( product_prod @ A @ B ) ) @ ( fun @ E @ C ) @ D ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( fun @ ( fun @ E @ ( product_prod @ A @ B ) ) @ ( fun @ E @ C ) ) @ ( combb @ ( product_prod @ A @ B ) @ C @ E ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( product_prod_case @ A @ B @ C ) @ F ) ) ) @ G ) ) @ H ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_59_split__twice) ).

thf(2503,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( product_prod @ A @ B ) @ C @ ( hAPP @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( product_prod_case @ A @ B @ C ) @ F ) @ ( hAPP @ ( product_prod @ D @ E ) @ ( product_prod @ A @ B ) @ ( hAPP @ ( fun @ D @ ( fun @ E @ ( product_prod @ A @ B ) ) ) @ ( fun @ ( product_prod @ D @ E ) @ ( product_prod @ A @ B ) ) @ ( product_prod_case @ D @ E @ ( product_prod @ A @ B ) ) @ G ) @ H ) )
      = ( hAPP @ ( product_prod @ D @ E ) @ C @ ( hAPP @ ( fun @ D @ ( fun @ E @ C ) ) @ ( fun @ ( product_prod @ D @ E ) @ C ) @ ( product_prod_case @ D @ E @ C ) @ ( hAPP @ ( fun @ D @ ( fun @ E @ ( product_prod @ A @ B ) ) ) @ ( fun @ D @ ( fun @ E @ C ) ) @ ( hAPP @ ( fun @ ( fun @ E @ ( product_prod @ A @ B ) ) @ ( fun @ E @ C ) ) @ ( fun @ ( fun @ D @ ( fun @ E @ ( product_prod @ A @ B ) ) ) @ ( fun @ D @ ( fun @ E @ C ) ) ) @ ( combb @ ( fun @ E @ ( product_prod @ A @ B ) ) @ ( fun @ E @ C ) @ D ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( fun @ ( fun @ E @ ( product_prod @ A @ B ) ) @ ( fun @ E @ C ) ) @ ( combb @ ( product_prod @ A @ B ) @ C @ E ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( product_prod_case @ A @ B @ C ) @ F ) ) ) @ G ) ) @ H ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[384]) ).

thf(887,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ E ) @ F ) @ G ) @ H ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_297_exp_Osimps_I173_J) ).

thf(4319,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ E ) @ F ) @ G ) @ H ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[887]) ).

thf(1049,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( throw @ A ) )
      = ( throw @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_Othrow_res) ).

thf(4879,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( throw @ A ) )
      = ( throw @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1049]) ).

thf(878,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) @ F ) @ G ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ C ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( append @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ A ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ B ) ) ) @ E ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( append @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ A ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ F ) @ B ) ) ) @ G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_856_list__eval__Throw) ).

thf(4292,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) @ F ) @ G ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ C ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( append @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ A ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ B ) ) ) @ E ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( append @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ A ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ F ) @ B ) ) ) @ G ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[878]) ).

thf(413,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) @ D ) @ E ) )
     => ( ! [F: $i] :
            ( ( D
              = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) )
           => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) @ E ) ) )
       => ( ( ( D
              = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) ) ) )
           => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ E ) ) )
         => ~ ! [F: $i] :
                ( ( D
                  = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) )
               => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ E ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_583_eval__cases_I12_J) ).

thf(2629,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) @ D ) @ E ) )
     => ( ! [F: $i] :
            ( ( D
              = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) )
           => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) @ E ) ) )
       => ( ( ( D
              = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) ) ) )
           => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ E ) ) )
         => ~ ! [F: $i] :
                ( ( D
                  = ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) )
               => ~ ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ E ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[413]) ).

thf(424,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ A ) @ F ) @ G ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ G @ C )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ E ) ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ F ) @ G ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ B ) ) )
         => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ A ) @ F ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ G ) @ C ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ B ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_125_hconf__upd__obj) ).

thf(2684,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ A ) @ F ) @ G ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ G @ C )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ E ) ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ F ) @ G ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ B ) ) )
         => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ A ) @ F ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ G ) @ C ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ B ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[424]) ).

thf(775,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ~ ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ E ) @ F ) )
     => ( ( hAPP @ B @ A @ ( hAPP @ ( fun @ B @ bool ) @ ( fun @ B @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ A ) ) ) @ ( override_on @ B @ A ) @ C ) @ D ) @ F ) @ E )
        = ( hAPP @ B @ A @ C @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_985_override__on__apply__notin) ).

thf(3921,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ~ ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ E ) @ F ) )
     => ( ( hAPP @ B @ A @ ( hAPP @ ( fun @ B @ bool ) @ ( fun @ B @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ A ) ) ) @ ( override_on @ B @ A ) @ C ) @ D ) @ F ) @ E )
        = ( hAPP @ B @ A @ C @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[775]) ).

thf(400,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_684_exp_Osimps_I147_J) ).

thf(2564,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[400]) ).

thf(673,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ D ) ) )
     => ? [E: $i] :
          ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ E ) ) @ D ) )
          & ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ E ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_982_tranclD) ).

thf(3571,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ D ) ) )
     => ? [E: $i] :
          ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ E ) ) @ D ) )
          & ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ E ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[673]) ).

thf(756,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ D @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( semilattice_sup_sup @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ D ) @ C ) @ E ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_344_sup2I1) ).

thf(3849,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ D @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( semilattice_sup_sup @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ D ) @ C ) @ E ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[756]) ).

thf(917,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ D ) @ E ) @ F ) @ G ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ D ) @ A ) @ B ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ F ) @ A ) @ B ) ) @ G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_425_redp__redsp_OBinOpRed1) ).

thf(4405,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ D ) @ E ) @ F ) @ G ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ D ) @ A ) @ B ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ F ) @ A ) @ B ) ) @ G ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[917]) ).

thf(531,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D ) ) @ E ) )
    <=> ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ B ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_380__092_060D_062___092_060D_062s_Osimps_I7_J) ).

thf(3031,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D ) ) @ E ) )
       => ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ B ) @ E ) ) )
      & ( ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ B ) @ E ) )
       => ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D ) ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[531]) ).

thf(147,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fFalse ) ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ E ) @ A ) @ B ) ) @ F ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_702_CondReds2F) ).

thf(1662,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fFalse ) ) ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ E ) @ A ) @ B ) ) @ F ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[147]) ).

thf(913,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ A ) @ C ) @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ C ) @ B ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ init_fields @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_774_oconf__init__fields) ).

thf(4394,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ A ) @ C ) @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ C ) @ B ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ init_fields @ E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[913]) ).

thf(929,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ! [E: $i] :
          ( ( hAPP @ A @ B @ C @ E )
          = ( hAPP @ A @ B @ D @ E ) )
     => ( ( ti @ ( fun @ A @ B ) @ C )
        = ( ti @ ( fun @ A @ B ) @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_75_ext) ).

thf(4441,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ! [E: $i] :
          ( ( hAPP @ A @ B @ C @ E )
          = ( hAPP @ A @ B @ D @ E ) )
     => ( ( ti @ ( fun @ A @ B ) @ C )
        = ( ti @ ( fun @ A @ B ) @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[929]) ).

thf(835,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ C ) @ D ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ C ) @ A ) @ B ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( new @ ( list @ char ) ) @ D ) ) @ ( hAPP @ ( list @ char ) @ ty @ class @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_736_WTrtNew) ).

thf(4136,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ C ) @ D ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ C ) @ A ) @ B ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( new @ ( list @ char ) ) @ D ) ) @ ( hAPP @ ( list @ char ) @ ty @ class @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[835]) ).

thf(523,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ F )
        = ( hAPP @ ( list @ B ) @ nat @ ( size_size @ ( list @ B ) ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ B ) @ bool @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) ) @ ( list_all2 @ A @ B ) @ C ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ F ) @ D ) ) @ ( hAPP @ ( list @ B ) @ ( list @ B ) @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ B ) @ ( list @ B ) ) @ ( append @ B ) @ G ) @ E ) ) )
      <=> ( ( hBOOL @ ( hAPP @ ( list @ B ) @ bool @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) ) @ ( list_all2 @ A @ B ) @ C ) @ F ) @ G ) )
          & ( hBOOL @ ( hAPP @ ( list @ B ) @ bool @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) ) @ ( list_all2 @ A @ B ) @ C ) @ D ) @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_958_list__all2__append) ).

thf(2994,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ F )
        = ( hAPP @ ( list @ B ) @ nat @ ( size_size @ ( list @ B ) ) @ G ) )
     => ( ( ( hBOOL @ ( hAPP @ ( list @ B ) @ bool @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) ) @ ( list_all2 @ A @ B ) @ C ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ F ) @ D ) ) @ ( hAPP @ ( list @ B ) @ ( list @ B ) @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ B ) @ ( list @ B ) ) @ ( append @ B ) @ G ) @ E ) ) )
         => ( ( hBOOL @ ( hAPP @ ( list @ B ) @ bool @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) ) @ ( list_all2 @ A @ B ) @ C ) @ F ) @ G ) )
            & ( hBOOL @ ( hAPP @ ( list @ B ) @ bool @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) ) @ ( list_all2 @ A @ B ) @ C ) @ D ) @ E ) ) ) )
        & ( ( ( hBOOL @ ( hAPP @ ( list @ B ) @ bool @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) ) @ ( list_all2 @ A @ B ) @ C ) @ F ) @ G ) )
            & ( hBOOL @ ( hAPP @ ( list @ B ) @ bool @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) ) @ ( list_all2 @ A @ B ) @ C ) @ D ) @ E ) ) )
         => ( hBOOL @ ( hAPP @ ( list @ B ) @ bool @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ B ) @ bool ) ) @ ( list_all2 @ A @ B ) @ C ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ F ) @ D ) ) @ ( hAPP @ ( list @ B ) @ ( list @ B ) @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ B ) @ ( list @ B ) ) @ ( append @ B ) @ G ) @ E ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[523]) ).

thf(1096,axiom,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ nt ) @ ( hAPP @ ( list @ char ) @ ty @ class @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_706_widen__null) ).

thf(5025,plain,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ nt ) @ ( hAPP @ ( list @ char ) @ ty @ class @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1096]) ).

thf(595,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ D ) @ E ) ) ) )
     => ( ! [F: $i,G: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) )
           => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ F ) @ G ) ) @ E ) )
             => ( ( ti @ A @ F )
                = ( ti @ A @ G ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_410_rtrancl__Un__separatorE) ).

thf(3293,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ D ) @ E ) ) ) )
     => ( ! [F: $i,G: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) )
           => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ F ) @ G ) ) @ E ) )
             => ( ( ti @ A @ F )
                = ( ti @ A @ G ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[595]) ).

thf(977,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( method_1 @ A ) )
      = ( method_1 @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeRel_Omethod_res) ).

thf(4598,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( method_1 @ A ) )
      = ( method_1 @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[977]) ).

thf(561,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ C ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_366_exp_Osimps_I181_J) ).

thf(3161,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ C ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[561]) ).

thf(1009,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_511_CastReds) ).

thf(4735,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1009]) ).

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] :
          ( ( ti @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ F )
         != ( hAPP @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ ( hAPP @ A @ ( fun @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ G ) @ ( hAPP @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ ( hAPP @ B @ ( fun @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ H ) @ ( hAPP @ ( product_prod @ D @ E ) @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ ( hAPP @ C @ ( fun @ ( product_prod @ D @ E ) @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ ( product_Pair @ C @ ( product_prod @ D @ E ) ) @ I ) @ ( hAPP @ E @ ( product_prod @ D @ E ) @ ( hAPP @ D @ ( fun @ E @ ( product_prod @ D @ E ) ) @ ( product_Pair @ D @ E ) @ J ) @ K ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_11_prod__cases5) ).

thf(4581,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ~ ! [G: $i,H: $i,I: $i,J: $i,K: $i] :
          ( ( ti @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ F )
         != ( hAPP @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ ( hAPP @ A @ ( fun @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ G ) @ ( hAPP @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ ( hAPP @ B @ ( fun @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ H ) @ ( hAPP @ ( product_prod @ D @ E ) @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ ( hAPP @ C @ ( fun @ ( product_prod @ D @ E ) @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ ( product_Pair @ C @ ( product_prod @ D @ E ) ) @ I ) @ ( hAPP @ E @ ( product_prod @ D @ E ) @ ( hAPP @ D @ ( fun @ E @ ( product_prod @ D @ E ) ) @ ( product_Pair @ D @ E ) @ J ) @ K ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[971]) ).

thf(226,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ G ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( map_add @ ( list @ char ) @ val ) @ A ) @ D ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( map_add @ ( list @ char ) @ val ) @ A ) @ G ) ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_165_Red__lcl__add) ).

thf(1958,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ G ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( map_add @ ( list @ char ) @ val ) @ A ) @ D ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( map_add @ ( list @ char ) @ val ) @ A ) @ G ) ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[226]) ).

thf(1030,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ B ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ C ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_178_rtrancl__subset__rtrancl) ).

thf(4812,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ B ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ C ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1030]) ).

thf(1088,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( product_prod @ A @ B ) @ C @ ( hAPP @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( product_prod_case @ A @ B @ C ) @ D ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ E ) @ F ) )
      = ( hAPP @ B @ C @ ( hAPP @ A @ ( fun @ B @ C ) @ D @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_72_prod_Osimps_I2_J) ).

thf(5003,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( product_prod @ A @ B ) @ C @ ( hAPP @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( product_prod_case @ A @ B @ C ) @ D ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ E ) @ F ) )
      = ( hAPP @ B @ C @ ( hAPP @ A @ ( fun @ B @ C ) @ D @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1088]) ).

thf(104,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ D ) @ E ) @ F ) @ G ) @ ( hAPP @ ( list @ char ) @ ty @ class @ H ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ D ) @ H ) @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ D ) @ E ) @ F ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ G ) @ A ) @ C ) ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_553_WTrt_H__WTrts_H_Ointros_I8_J) ).

thf(1547,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ D ) @ E ) @ F ) @ G ) @ ( hAPP @ ( list @ char ) @ ty @ class @ H ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ D ) @ H ) @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ D ) @ E ) @ F ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ G ) @ A ) @ C ) ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[104]) ).

thf(901,axiom,
    ( ( ti @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ fvs )
    = fvs ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Ofvs_res) ).

thf(4360,plain,
    ( ( ti @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ fvs )
    = fvs ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[901]) ).

thf(1045,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ D ) @ E ) @ F ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ G ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ I ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ H @ G )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ B ) @ C ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ A ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ D ) ) ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ E ) ) @ F ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ G ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ I ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_517_Cast) ).

thf(4864,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ D ) @ E ) @ F ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ G ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ I ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ H @ G )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ B ) @ C ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ A ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ D ) ) ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ E ) ) @ F ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ G ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ I ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1045]) ).

thf(1069,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ A ) @ B ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) ) @ C ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_660_red__reds_ORedWhile) ).

thf(4937,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ A ) @ B ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) ) @ C ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1069]) ).

thf(577,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( fun @ ( list @ A ) @ ( list @ C ) ) @ ( hAPP @ ( fun @ ( list @ B ) @ ( list @ C ) ) @ ( fun @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( fun @ ( list @ A ) @ ( list @ C ) ) ) @ ( comp @ ( list @ B ) @ ( list @ C ) @ ( list @ A ) ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( list @ B ) @ ( list @ C ) ) @ ( map @ B @ C ) @ D ) ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ E ) )
      = ( hAPP @ ( fun @ A @ C ) @ ( fun @ ( list @ A ) @ ( list @ C ) ) @ ( map @ A @ C ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ C ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ C ) ) @ ( comp @ B @ C @ A ) @ D ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_990_List_Omap_Ocomp) ).

thf(3209,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( fun @ ( list @ A ) @ ( list @ C ) ) @ ( hAPP @ ( fun @ ( list @ B ) @ ( list @ C ) ) @ ( fun @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( fun @ ( list @ A ) @ ( list @ C ) ) ) @ ( comp @ ( list @ B ) @ ( list @ C ) @ ( list @ A ) ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( list @ B ) @ ( list @ C ) ) @ ( map @ B @ C ) @ D ) ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ E ) )
      = ( hAPP @ ( fun @ A @ C ) @ ( fun @ ( list @ A ) @ ( list @ C ) ) @ ( map @ A @ C ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ C ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ C ) ) @ ( comp @ B @ C @ A ) @ D ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[577]) ).

thf(908,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ E ) @ F ) @ G ) @ H ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_453_exp_Osimps_I168_J) ).

thf(4377,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ E ) @ F ) @ G ) @ H ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[908]) ).

thf(975,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ D ) @ E ) @ F ) @ G ) @ nt ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ D ) @ E ) @ F ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ G ) @ A ) @ B ) ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_711_WTrtFAccNT) ).

thf(4593,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ D ) @ E ) @ F ) @ G ) @ nt ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ D ) @ E ) @ F ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ G ) @ A ) @ B ) ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[975]) ).

thf(487,axiom,
    ! [A: $i,B: $i] :
      ( ( ord @ B )
     => ! [C: $i,D: $i] :
          ( ( hBOOL @ ( hAPP @ ( fun @ A @ B ) @ bool @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( fun @ A @ B ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ B ) ) @ C ) @ D ) )
        <=> ! [E: $i] : ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ B @ ( fun @ B @ bool ) @ ( ord_less_eq @ B ) @ ( hAPP @ A @ B @ C @ E ) ) @ ( hAPP @ A @ B @ D @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_220_le__fun__def) ).

thf(2882,plain,
    ! [A: $i,B: $i] :
      ( ( ord @ B )
     => ! [C: $i,D: $i] :
          ( ( ( hBOOL @ ( hAPP @ ( fun @ A @ B ) @ bool @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( fun @ A @ B ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ B ) ) @ C ) @ D ) )
           => ! [E: $i] : ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ B @ ( fun @ B @ bool ) @ ( ord_less_eq @ B ) @ ( hAPP @ A @ B @ C @ E ) ) @ ( hAPP @ A @ B @ D @ E ) ) ) )
          & ( ! [E: $i] : ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ B @ ( fun @ B @ bool ) @ ( ord_less_eq @ B ) @ ( hAPP @ A @ B @ C @ E ) ) @ ( hAPP @ A @ B @ D @ E ) ) )
           => ( hBOOL @ ( hAPP @ ( fun @ A @ B ) @ bool @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( fun @ A @ B ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ B ) ) @ C ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[487]) ).

thf(426,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ C @ D ) )
     => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ B ) @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_260_sup1I1) ).

thf(2689,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ C @ D ) )
     => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ B ) @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[426]) ).

thf(183,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ C ) )
    <=> ( hBOOL @ ( hAPP @ A @ bool @ C @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_76_mem__def) ).

thf(1798,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ C @ B ) ) )
      & ( ( hBOOL @ ( hAPP @ A @ bool @ C @ B ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[183]) ).

thf(621,axiom,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ wf_J_mdecl )
    = wf_J_mdecl ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_JWellForm_Owf__J__mdecl_res) ).

thf(3391,plain,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ wf_J_mdecl )
    = wf_J_mdecl ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[621]) ).

thf(174,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_635_exp_Osimps_I110_J) ).

thf(1770,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[174]) ).

thf(615,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ G ) @ H )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ I ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ E ) @ I ) @ F ) )
       => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ E ) @ G ) @ ( hAPP @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ ty ) ) @ A ) @ B ) @ ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ F ) ) ) @ C ) @ D ) )
         => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ E ) @ G ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ B ) @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ B ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ H ) ) ) @ C ) ) ) @ D ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_544_WTrt_H__WTrts_H_Ointros_I16_J) ).

thf(3376,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ G ) @ H )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ I ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ E ) @ I ) @ F ) )
       => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ E ) @ G ) @ ( hAPP @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ ty ) ) @ A ) @ B ) @ ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ F ) ) ) @ C ) @ D ) )
         => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ E ) @ G ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ B ) @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ B ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ H ) ) ) @ C ) ) ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[615]) ).

thf(95,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ E ) @ A ) @ B ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ B ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ E ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_837_bigs__by__smalls) ).

thf(1516,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ E ) @ A ) @ B ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ B ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ E ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[95]) ).

thf(482,axiom,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ wwf_J_mdecl )
    = wwf_J_mdecl ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_WWellForm_Owwf__J__mdecl_res) ).

thf(2863,plain,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ wwf_J_mdecl )
    = wwf_J_mdecl ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[482]) ).

thf(124,axiom,
    ! [A: $i] :
      ( ( lattice @ A )
     => ! [B: $i,C: $i,D: $i] :
          ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ D ) )
          = ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_313_inf__sup__aci_I7_J) ).

thf(1598,plain,
    ! [A: $i] :
      ( ( lattice @ A )
     => ! [B: $i,C: $i,D: $i] :
          ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ D ) )
          = ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[124]) ).

thf(870,axiom,
    ! [A: $i] :
      ( ( hBOOL @ A )
      | ( hBOOL @ ( hAPP @ bool @ bool @ fNot @ A ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fNot_2_1_U) ).

thf(4272,plain,
    ! [A: $i] :
      ( ( hBOOL @ A )
      | ( hBOOL @ ( hAPP @ bool @ bool @ fNot @ A ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[870]) ).

thf(68,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( fun_upd @ A @ ( option @ B ) ) @ C ) @ D ) @ ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ E ) ) @ F )
        = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ G ) )
    <=> ( ( ( ( ti @ A @ F )
            = ( ti @ A @ D ) )
          & ( ( ti @ B @ E )
            = ( ti @ B @ G ) ) )
        | ( ( ( ti @ A @ F )
           != ( ti @ A @ D ) )
          & ( ( hAPP @ A @ ( option @ B ) @ C @ F )
            = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ G ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_4_map__upd__Some__unfold) ).

thf(1400,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( fun_upd @ A @ ( option @ B ) ) @ C ) @ D ) @ ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ E ) ) @ F )
          = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ G ) )
       => ( ( ( ( ti @ A @ F )
              = ( ti @ A @ D ) )
            & ( ( ti @ B @ E )
              = ( ti @ B @ G ) ) )
          | ( ( ( ti @ A @ F )
             != ( ti @ A @ D ) )
            & ( ( hAPP @ A @ ( option @ B ) @ C @ F )
              = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ G ) ) ) ) )
      & ( ( ( ( ( ti @ A @ F )
              = ( ti @ A @ D ) )
            & ( ( ti @ B @ E )
              = ( ti @ B @ G ) ) )
          | ( ( ( ti @ A @ F )
             != ( ti @ A @ D ) )
            & ( ( hAPP @ A @ ( option @ B ) @ C @ F )
              = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ G ) ) ) )
       => ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( fun_upd @ A @ ( option @ B ) ) @ C ) @ D ) @ ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ E ) ) @ F )
          = ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ G ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[68]) ).

thf(165,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ C ) @ D ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_749_exp_Osimps_I26_J) ).

thf(1743,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ C ) @ D ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[165]) ).

thf(1070,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redsp @ B ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ C ) @ A ) ) @ D ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ E ) @ A ) ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_881_redp__redsp_OListRed1) ).

thf(4939,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redsp @ B ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ C ) @ A ) ) @ D ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ E ) @ A ) ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1070]) ).

thf(111,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ B ) @ C ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ B ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_929_r__into__trancl_H) ).

thf(1566,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ B ) @ C ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ B ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[111]) ).

thf(278,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ typeSa1166768941_sconf @ A ) @ B ) @ C ) )
    <=> ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( product_prod_case @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( fun @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( combs @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ bool @ bool ) @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( fun @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) ) @ ( combb @ ( fun @ bool @ bool ) @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( combb @ bool @ bool @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ bool @ bool ) ) @ ( hAPP @ ( fun @ bool @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ bool @ bool ) ) ) @ ( combb @ bool @ ( fun @ bool @ bool ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ fconj ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( combc @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( fun @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) ) @ ( combb @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( combc @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) ) ) @ B ) ) ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_40_sconf__def) ).

thf(2143,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ typeSa1166768941_sconf @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( product_prod_case @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( fun @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( combs @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ bool @ bool ) @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( fun @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) ) @ ( combb @ ( fun @ bool @ bool ) @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( combb @ bool @ bool @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ bool @ bool ) ) @ ( hAPP @ ( fun @ bool @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ bool @ bool ) ) ) @ ( combb @ bool @ ( fun @ bool @ bool ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ fconj ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( combc @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( fun @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) ) @ ( combb @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( combc @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) ) ) @ B ) ) ) @ C ) ) )
      & ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( product_prod_case @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( fun @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( combs @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ bool @ bool ) @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( fun @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) ) @ ( combb @ ( fun @ bool @ bool ) @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( combb @ bool @ bool @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ bool @ bool ) ) @ ( hAPP @ ( fun @ bool @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ bool @ bool ) ) ) @ ( combb @ bool @ ( fun @ bool @ bool ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ fconj ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( combc @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( hAPP @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) @ ( fun @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) ) ) @ ( combb @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ bool ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( combc @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ bool ) ) ) @ ( lconf @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) ) ) @ B ) ) ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ typeSa1166768941_sconf @ A ) @ B ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[278]) ).

thf(750,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ C ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_364_exp_Osimps_I151_J) ).

thf(3833,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ C ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[750]) ).

thf(702,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ C ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ F ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ B ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_839_reds__hext__incr) ).

thf(3659,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ C ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ F ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ B ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[702]) ).

thf(222,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ! [D: $i] :
          ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ C ) )
         => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ B ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_196_subsetI) ).

thf(1941,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ! [D: $i] :
          ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ C ) )
         => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ B ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[222]) ).

thf(27,axiom,
    ! [A: $i] :
      ( ( ( ti @ bool @ A )
        = fTrue )
      | ( ( ti @ bool @ A )
        = fFalse ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fTrue_1_1_T) ).

thf(1252,plain,
    ! [A: $i] :
      ( ( ( ti @ bool @ A )
        = fTrue )
      | ( ( ti @ bool @ A )
        = fFalse ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[27]) ).

thf(643,axiom,
    ! [A: $i,B: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ A ) @ B ) )
    <=> ! [C: $i,D: $i,E: $i] :
          ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ A @ C )
            = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ E ) ) )
         => ? [F: $i] :
              ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ B @ C )
              = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ F ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_102_hext__def) ).

thf(3462,plain,
    ! [A: $i,B: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ A ) @ B ) )
       => ! [C: $i,D: $i,E: $i] :
            ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ A @ C )
              = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ E ) ) )
           => ? [F: $i] :
                ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ B @ C )
                = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ F ) ) ) ) )
      & ( ! [C: $i,D: $i,E: $i] :
            ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ A @ C )
              = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ E ) ) )
           => ? [F: $i] :
                ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ B @ C )
                = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ F ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ A ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[643]) ).

thf(1113,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ C ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_289_exp_Osimps_I78_J) ).

thf(5074,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ C ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1113]) ).

thf(536,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ E ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ H ) ) )
     => ( ~ ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( member @ ( list @ char ) ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ C ) ) )
       => ( ( hAPP @ ( list @ char ) @ ( option @ val ) @ H @ A )
          = ( hAPP @ ( list @ char ) @ ( option @ val ) @ E @ A ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_231_eval__notfree__unchanged) ).

thf(3058,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ E ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ G ) @ H ) ) )
     => ( ~ ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( member @ ( list @ char ) ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ C ) ) )
       => ( ( hAPP @ ( list @ char ) @ ( option @ val ) @ H @ A )
          = ( hAPP @ ( list @ char ) @ ( option @ val ) @ E @ A ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[536]) ).

thf(355,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_510_red__reds_OCastThrow) ).

thf(2386,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[355]) ).

thf(684,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ C ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_747_exp_Osimps_I42_J) ).

thf(3608,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ C ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[684]) ).

thf(477,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ C ) @ A ) @ B ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ E ) @ A ) @ B ) ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_462_red__reds_OBinOpRed1) ).

thf(2850,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ C ) @ A ) @ B ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ E ) @ A ) @ B ) ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[477]) ).

thf(283,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) @ E )
      = ( hAPP @ ( option @ B ) @ ( option @ B ) @ ( hAPP @ ( fun @ B @ ( option @ B ) ) @ ( fun @ ( option @ B ) @ ( option @ B ) ) @ ( hAPP @ ( option @ B ) @ ( fun @ ( fun @ B @ ( option @ B ) ) @ ( fun @ ( option @ B ) @ ( option @ B ) ) ) @ ( option_case @ ( option @ B ) @ B ) @ ( hAPP @ A @ ( option @ B ) @ C @ E ) ) @ ( some @ B ) ) @ ( hAPP @ A @ ( option @ B ) @ D @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_555_map__add__def) ).

thf(2160,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) @ E )
      = ( hAPP @ ( option @ B ) @ ( option @ B ) @ ( hAPP @ ( fun @ B @ ( option @ B ) ) @ ( fun @ ( option @ B ) @ ( option @ B ) ) @ ( hAPP @ ( option @ B ) @ ( fun @ ( fun @ B @ ( option @ B ) ) @ ( fun @ ( option @ B ) @ ( option @ B ) ) ) @ ( option_case @ ( option @ B ) @ B ) @ ( hAPP @ A @ ( option @ B ) @ C @ E ) ) @ ( some @ B ) ) @ ( hAPP @ A @ ( option @ B ) @ D @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[283]) ).

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] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ L ) @ M ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ N ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ K ) @ N ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ N ) @ M ) @ F ) @ G ) @ H ) @ I ) @ J ) )
         => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ N ) @ L ) @ F ) @ B ) @ C ) @ D ) @ E ) )
           => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ N ) ) @ G ) @ B ) )
              & ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ N ) @ C ) @ H ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_966_sees__method__mono2) ).

thf(3642,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] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ L ) @ M ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ N ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ K ) @ N ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ N ) @ M ) @ F ) @ G ) @ H ) @ I ) @ J ) )
         => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ N ) @ L ) @ F ) @ B ) @ C ) @ D ) @ E ) )
           => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ N ) ) @ G ) @ B ) )
              & ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ N ) @ C ) @ H ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[696]) ).

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] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ K ) @ L ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ M ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ M ) @ L ) @ F ) @ G ) @ H ) @ I ) @ J ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ M ) @ K ) @ F ) @ B ) @ C ) @ D ) @ E ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ E ) @ J ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ M ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_907_sees__method__decl__mono) ).

thf(4398,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] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ K ) @ L ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ M ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ M ) @ L ) @ F ) @ G ) @ H ) @ I ) @ J ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ A @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ A @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ A ) @ M ) @ K ) @ F ) @ B ) @ C ) @ D ) @ E ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ E ) @ J ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ M ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[915]) ).

thf(799,axiom,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) ) @ redp )
    = redp ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_SmallStep_Oredp_res) ).

thf(4003,plain,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) ) @ redp )
    = redp ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[799]) ).

thf(667,axiom,
    ! [A: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ A ) )
     => ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ A ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ ( hAPP @ ( list @ char ) @ ty @ class @ nullPointer ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_542_typeof__NullPointer) ).

thf(3554,plain,
    ! [A: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ A ) )
     => ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ A ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ ( hAPP @ ( list @ char ) @ ty @ class @ nullPointer ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[667]) ).

thf(608,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( fun @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ D ) @ E ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ F ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) ) @ H ) ) )
     => ( ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ C @ D ) @ E ) )
       => ( ! [I: $i,J: $i,K: $i,L: $i] :
              ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( fun @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ D ) @ E ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ I ) @ J ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) ) @ H ) ) )
             => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( fun @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ I ) @ J ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ K ) @ L ) ) ) @ H ) )
               => ( ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ C @ I ) @ J ) )
                 => ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ C @ K ) @ L ) ) ) ) )
         => ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ C @ F ) @ G ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_199_rtrancl__induct2) ).

thf(3344,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( fun @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ D ) @ E ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ F ) @ G ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) ) @ H ) ) )
     => ( ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ C @ D ) @ E ) )
       => ( ! [I: $i,J: $i,K: $i,L: $i] :
              ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( fun @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ D ) @ E ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ I ) @ J ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) ) @ H ) ) )
             => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ ( product_prod @ A @ B ) @ ( fun @ ( product_prod @ A @ B ) @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ I ) @ J ) ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ K ) @ L ) ) ) @ H ) )
               => ( ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ C @ I ) @ J ) )
                 => ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ C @ K ) @ L ) ) ) ) )
         => ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ C @ F ) @ G ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[608]) ).

thf(179,axiom,
    ( ( ti @ ( list @ char ) @ object )
    = object ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_OObject_res) ).

thf(1785,plain,
    ( ( ti @ ( list @ char ) @ object )
    = object ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[179]) ).

thf(530,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( semilattice_sup_sup @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( combc @ B @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ B ) @ ( combc @ A @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) ) @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) ) @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ B ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( combb @ ( product_prod @ B @ A ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) @ A ) @ ( member @ ( product_prod @ B @ A ) ) ) ) @ ( product_Pair @ B @ A ) ) ) ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( combc @ B @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ B ) @ ( combc @ A @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) ) @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) ) @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ B ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( combb @ ( product_prod @ B @ A ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) @ A ) @ ( member @ ( product_prod @ B @ A ) ) ) ) @ ( product_Pair @ B @ A ) ) ) ) @ D ) ) @ E ) @ F ) )
    <=> ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ B @ A ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ B @ A ) ) @ ( hAPP @ A @ ( product_prod @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( product_Pair @ B @ A ) @ E ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ ( product_prod @ B @ A ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( product_prod @ B @ A ) @ bool ) ) @ C ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_283_sup__Un__eq2) ).

thf(3026,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( semilattice_sup_sup @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( combc @ B @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ B ) @ ( combc @ A @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) ) @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) ) @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ B ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( combb @ ( product_prod @ B @ A ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) @ A ) @ ( member @ ( product_prod @ B @ A ) ) ) ) @ ( product_Pair @ B @ A ) ) ) ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( combc @ B @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ B ) @ ( combc @ A @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) ) @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) ) @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ B ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( combb @ ( product_prod @ B @ A ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) @ A ) @ ( member @ ( product_prod @ B @ A ) ) ) ) @ ( product_Pair @ B @ A ) ) ) ) @ D ) ) @ E ) @ F ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ B @ A ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ B @ A ) ) @ ( hAPP @ A @ ( product_prod @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( product_Pair @ B @ A ) @ E ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ ( product_prod @ B @ A ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( product_prod @ B @ A ) @ bool ) ) @ C ) @ D ) ) ) )
      & ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ B @ A ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ B @ A ) ) @ ( hAPP @ A @ ( product_prod @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( product_Pair @ B @ A ) @ E ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ ( product_prod @ B @ A ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( product_prod @ B @ A ) @ bool ) ) @ C ) @ D ) ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( semilattice_sup_sup @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( combc @ B @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ B ) @ ( combc @ A @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) ) @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) ) @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ B ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( combb @ ( product_prod @ B @ A ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) @ A ) @ ( member @ ( product_prod @ B @ A ) ) ) ) @ ( product_Pair @ B @ A ) ) ) ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ ( combc @ B @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ B ) @ ( combc @ A @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) ) @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) ) @ ( fun @ B @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ B ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) ) ) @ ( combb @ ( product_prod @ B @ A ) @ ( fun @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ bool ) @ A ) @ ( member @ ( product_prod @ B @ A ) ) ) ) @ ( product_Pair @ B @ A ) ) ) ) @ D ) ) @ E ) @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[530]) ).

thf(337,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ C ) @ D )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ E ) @ F ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ E ) @ A ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ B ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) @ C ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_518_red__reds_ORedCast) ).

thf(2337,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ C ) @ D )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ E ) @ F ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ E ) @ A ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ B ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) @ C ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ B ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[337]) ).

thf(1179,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_428_exp_Osimps_I71_J) ).

thf(5309,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1179]) ).

thf(898,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_457_redp__redsp_OBinOpThrow1) ).

thf(4351,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[898]) ).

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] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ J ) @ K ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ F ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ G ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ H ) @ I ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) @ ( set @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ K ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ B ) @ ( hAPP @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ C ) @ ( hAPP @ A @ ( product_prod @ ty @ A ) @ ( hAPP @ ty @ ( fun @ A @ ( product_prod @ ty @ A ) ) @ ( product_Pair @ ty @ A ) @ D ) @ E ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) @ ( set @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ I ) ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ty @ bool ) @ bool @ ( hAPP @ ( fun @ ty @ bool ) @ ( fun @ ( fun @ ty @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ bool ) @ ( set @ ty ) @ C ) ) @ ( hAPP @ ( fun @ ty @ bool ) @ ( fun @ ty @ bool ) @ ( collect @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ bool ) @ ( is_type @ A ) @ K ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_899_is__type__pTs) ).

thf(1658,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ J ) @ K ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ F ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ G ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ H ) @ I ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ bool ) @ ( set @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ K ) ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ B ) @ ( hAPP @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ( product_prod @ ty @ A ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ ( product_Pair @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ C ) @ ( hAPP @ A @ ( product_prod @ ty @ A ) @ ( hAPP @ ty @ ( fun @ A @ ( product_prod @ ty @ A ) ) @ ( product_Pair @ ty @ A ) @ D ) @ E ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) @ ( set @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ I ) ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ty @ bool ) @ bool @ ( hAPP @ ( fun @ ty @ bool ) @ ( fun @ ( fun @ ty @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ bool ) @ ( set @ ty ) @ C ) ) @ ( hAPP @ ( fun @ ty @ bool ) @ ( fun @ ty @ bool ) @ ( collect @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ bool ) @ ( is_type @ A ) @ K ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[145]) ).

thf(628,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ C ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ C @ B )
          = ( none @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ C ) @ B ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ A ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_479_preallocated__new) ).

thf(3412,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ C ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ C @ B )
          = ( none @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ C ) @ B ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ A ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[628]) ).

thf(1048,axiom,
    ! [A: $i] :
      ( ( hAPP @ bool @ val @ bool_1 @ A )
     != unit ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_615_val_Osimps_I7_J) ).

thf(4875,plain,
    ! [A: $i] :
      ( ( hAPP @ bool @ val @ bool_1 @ A )
     != unit ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1048]) ).

thf(343,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_641_exp_Osimps_I223_J) ).

thf(2354,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[343]) ).

thf(638,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ A @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) ) ) ) @ ( ty_case @ A ) )
      = ( ty_case @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_Oty_Oty__case_res) ).

thf(3448,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ A @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) ) ) ) @ ( ty_case @ A ) )
      = ( ty_case @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[638]) ).

thf(1165,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ A ) @ D ) @ E ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ E @ C )
          = ( none @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ D ) @ E ) @ B ) )
         => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ A ) @ D ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ E ) @ C ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ B ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_192_hconf__new) ).

thf(5262,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ A ) @ D ) @ E ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ E @ C )
          = ( none @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ bool ) ) @ ( oconf @ A ) @ D ) @ E ) @ B ) )
         => ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( hconf @ A ) @ D ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ E ) @ C ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ B ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1165]) ).

thf(181,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ D ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_628_exp_Osimps_I148_J) ).

thf(1790,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ D ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[181]) ).

thf(782,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ E ) @ C ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ B @ object ) )
         => ( ! [F: $i,G: $i] :
                ( ( F != object )
               => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ F ) @ G ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) )
                 => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ E ) @ G ) )
                   => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ B @ G ) )
                     => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ B @ F ) ) ) ) ) )
           => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ B @ C ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_703_subcls1__induct) ).

thf(3940,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ E ) @ C ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ B @ object ) )
         => ( ! [F: $i,G: $i] :
                ( ( F != object )
               => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ F ) @ G ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) )
                 => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ E ) @ G ) )
                   => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ B @ G ) )
                     => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ B @ F ) ) ) ) ) )
           => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ B @ C ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[782]) ).

thf(599,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ E ) ) )
     => ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ E ) @ D )
        = ( hAPP @ A @ ( option @ B ) @ C @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_56_map__add__dom__app__simps_I3_J) ).

thf(3305,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ E ) ) )
     => ( ( hAPP @ A @ ( option @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ E ) @ D )
        = ( hAPP @ A @ ( option @ B ) @ C @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[599]) ).

thf(851,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
        = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ D ) @ E ) )
    <=> ( ( B = D )
        & ( C = E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_112_exp_Osimps_I11_J) ).

thf(4190,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
          = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ D ) @ E ) )
       => ( ( B = D )
          & ( C = E ) ) )
      & ( ( ( B = D )
          & ( C = E ) )
       => ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
          = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ D ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[851]) ).

thf(139,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_498_exp_Osimps_I59_J) ).

thf(1637,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[139]) ).

thf(544,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod_case @ A @ B @ bool ) @ C ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ D ) @ E ) ) )
     => ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ C @ D ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_65_splitD) ).

thf(3114,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ A @ B ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( product_prod_case @ A @ B @ bool ) @ C ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ D ) @ E ) ) )
     => ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ C @ D ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[544]) ).

thf(588,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_295_exp_Osimps_I174_J) ).

thf(3273,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[588]) ).

thf(430,axiom,
    ! [A: $i,B: $i,C: $i] :
      ~ ! [D: $i,E: $i] :
          ( ( ti @ ( product_prod @ A @ B ) @ C )
         != ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ D ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_35_PairE) ).

thf(2700,plain,
    ! [A: $i,B: $i,C: $i] :
      ~ ! [D: $i,E: $i] :
          ( ( ti @ ( product_prod @ A @ B ) @ C )
         != ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ D ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[430]) ).

thf(1,conjecture,
    hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ea ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ha ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ la ) @ v_1 ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ v ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ e_a ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ h_a ) @ l_a ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ p ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',conj_0) ).

thf(2,negated_conjecture,
    ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ea ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ha ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ la ) @ v_1 ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ v ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ e_a ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ h_a ) @ l_a ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ p ) ) ),
    inference(neg_conjecture,[status(cth)],[1]) ).

thf(1186,plain,
    ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ea ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ha ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ la ) @ v_1 ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ v ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ e_a ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ h_a ) @ l_a ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ p ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[2]) ).

thf(320,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) ) @ ( methods @ A ) @ E ) @ D ) @ B ) )
       => ? [F: $i,G: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) ) @ ( methods @ A ) @ E ) @ C ) @ F ) )
            & ( F
              = ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) ) @ ( map_add @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ B ) @ G ) )
            & ! [H: $i,I: $i,J: $i] :
                ( ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ G @ H )
                  = ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( some @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ I ) @ J ) ) )
               => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ J ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_918_sees__methods__decl__mono) ).

thf(2276,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) ) @ ( methods @ A ) @ E ) @ D ) @ B ) )
       => ? [F: $i,G: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ bool ) ) @ ( methods @ A ) @ E ) @ C ) @ F ) )
            & ( F
              = ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) ) ) @ ( map_add @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ B ) @ G ) )
            & ! [H: $i,I: $i,J: $i] :
                ( ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ G @ H )
                  = ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( option @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( some @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ ( hAPP @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) @ ( list @ char ) ) @ I ) @ J ) ) )
               => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ J ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ E ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[320]) ).

thf(1098,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ bop @ A @ ( hAPP @ A @ ( fun @ bop @ A ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ bop @ A ) ) @ ( bop_rec @ A ) @ B ) @ C ) @ c_Expr_Obop_OEq )
      = ( ti @ A @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_789_bop_Orecs_I1_J) ).

thf(5030,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ bop @ A @ ( hAPP @ A @ ( fun @ bop @ A ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ bop @ A ) ) @ ( bop_rec @ A ) @ B ) @ C ) @ c_Expr_Obop_OEq )
      = ( ti @ A @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1098]) ).

thf(101,axiom,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ B @ B ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) ) ) @ ( lex_prod @ A @ B ) )
      = ( lex_prod @ A @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Wellfounded_Olex__prod_res) ).

thf(1538,plain,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ B @ B ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ bool ) ) ) @ ( lex_prod @ A @ B ) )
      = ( lex_prod @ A @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[101]) ).

thf(1087,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_352_eval__evals_OThrowThrow) ).

thf(5001,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ B ) ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1087]) ).

thf(377,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ fvs @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ A ) @ B ) )
      = ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ A ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ fvs @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_850_fv__fvs_Osimps_I17_J) ).

thf(2486,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ fvs @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ A ) @ B ) )
      = ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ A ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ fvs @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[377]) ).

thf(864,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( fun_upd @ A @ ( option @ B ) ) @ D ) @ E ) @ ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) ) )
      = ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( fun_upd @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) ) @ E ) @ ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_83_map__add__upd) ).

thf(4241,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( fun_upd @ A @ ( option @ B ) ) @ D ) @ E ) @ ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) ) )
      = ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( fun_upd @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) ) @ E ) @ ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[864]) ).

thf(755,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_195_rtrancl__trans) ).

thf(3847,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[755]) ).

thf(605,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ A @ ( product_prod @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( product_Pair @ B @ A ) @ C ) @ D )
        = ( hAPP @ A @ ( product_prod @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( product_Pair @ B @ A ) @ E ) @ F ) )
    <=> ( ( ( ti @ B @ C )
          = ( ti @ B @ E ) )
        & ( ( ti @ A @ D )
          = ( ti @ A @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_16_Pair__eq) ).

thf(3329,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( ( hAPP @ A @ ( product_prod @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( product_Pair @ B @ A ) @ C ) @ D )
          = ( hAPP @ A @ ( product_prod @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( product_Pair @ B @ A ) @ E ) @ F ) )
       => ( ( ( ti @ B @ C )
            = ( ti @ B @ E ) )
          & ( ( ti @ A @ D )
            = ( ti @ A @ F ) ) ) )
      & ( ( ( ( ti @ B @ C )
            = ( ti @ B @ E ) )
          & ( ( ti @ A @ D )
            = ( ti @ A @ F ) ) )
       => ( ( hAPP @ A @ ( product_prod @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( product_Pair @ B @ A ) @ C ) @ D )
          = ( hAPP @ A @ ( product_prod @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( product_Pair @ B @ A ) @ E ) @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[605]) ).

thf(565,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ C )
      = ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( collect @ A ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( combs @ A @ bool @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ ( fun @ bool @ bool ) ) @ ( hAPP @ ( fun @ bool @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ ( fun @ bool @ bool ) ) ) @ ( combb @ bool @ ( fun @ bool @ bool ) @ A ) @ fdisj ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( combc @ A @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) ) @ B ) ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( combc @ A @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) ) @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_248_Un__def) ).

thf(3174,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ C )
      = ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( collect @ A ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( combs @ A @ bool @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ ( fun @ bool @ bool ) ) @ ( hAPP @ ( fun @ bool @ ( fun @ bool @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ ( fun @ bool @ bool ) ) ) @ ( combb @ bool @ ( fun @ bool @ bool ) @ A ) @ fdisj ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( combc @ A @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) ) @ B ) ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( combc @ A @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[565]) ).

thf(1010,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ti @ ( fun @ A @ bool ) @ B )
        = ( ti @ ( fun @ A @ bool ) @ C ) )
    <=> ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ B ) @ C ) )
        & ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_181_set__eq__subset) ).

thf(4737,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ( ti @ ( fun @ A @ bool ) @ B )
          = ( ti @ ( fun @ A @ bool ) @ C ) )
       => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ B ) @ C ) )
          & ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ B ) ) ) )
      & ( ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ B ) @ C ) )
          & ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ B ) ) )
       => ( ( ti @ ( fun @ A @ bool ) @ B )
          = ( ti @ ( fun @ A @ bool ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1010]) ).

thf(163,axiom,
    ( ( ti @ ( fun @ ( list @ char ) @ bool ) @ sys_xcpts )
    = sys_xcpts ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Exceptions_Osys__xcpts_res) ).

thf(1738,plain,
    ( ( ti @ ( fun @ ( list @ char ) @ bool ) @ sys_xcpts )
    = sys_xcpts ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[163]) ).

thf(15,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ A @ ( fun @ bop @ A ) ) ) @ ( bop_case @ A ) )
      = ( bop_case @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Obop_Obop__case_res) ).

thf(1218,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ A @ ( fun @ bop @ A ) ) ) @ ( bop_case @ A ) )
      = ( bop_case @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[15]) ).

thf(1123,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ D ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ F ) @ G ) @ ( none @ val ) ) ) ) @ H ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ I ) @ J ) ) )
     => ( ( ( hAPP @ ( list @ char ) @ ( option @ val ) @ J @ G )
          = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ B ) )
       => ( ~ ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ bool ) @ assigned @ G ) @ D ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ G ) @ A ) @ D ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ F ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ G ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ G ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) ) @ H ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ I ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ J ) @ G ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ F @ G ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_159_redp__redsp_OBlockRedSome) ).

thf(5106,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ D ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ F ) @ G ) @ ( none @ val ) ) ) ) @ H ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ I ) @ J ) ) )
     => ( ( ( hAPP @ ( list @ char ) @ ( option @ val ) @ J @ G )
          = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ B ) )
       => ( ~ ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ bool ) @ assigned @ G ) @ D ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ G ) @ A ) @ D ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ F ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ G ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ G ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) ) @ H ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ I ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ J ) @ G ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ F @ G ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1123]) ).

thf(1146,axiom,
    ! [A: $i,B: $i] :
      ( ( ( hAPP @ ( list @ char ) @ ty @ class @ A )
        = ( hAPP @ ( list @ char ) @ ty @ class @ B ) )
    <=> ( A = B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_606_ty_Oinject) ).

thf(5186,plain,
    ! [A: $i,B: $i] :
      ( ( ( ( hAPP @ ( list @ char ) @ ty @ class @ A )
          = ( hAPP @ ( list @ char ) @ ty @ class @ B ) )
       => ( A = B ) )
      & ( ( A = B )
       => ( ( hAPP @ ( list @ char ) @ ty @ class @ A )
          = ( hAPP @ ( list @ char ) @ ty @ class @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1146]) ).

thf(1171,axiom,
    ( ( ti @ ( list @ char ) @ v_1 )
    = v_1 ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_V_____res) ).

thf(5277,plain,
    ( ( ti @ ( list @ char ) @ v_1 )
    = v_1 ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1171]) ).

thf(1183,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ C ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_487_exp_Osimps_I45_J) ).

thf(5319,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ C ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1183]) ).

thf(382,axiom,
    order @ bool,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_HOL_Obool___Orderings_Oorder) ).

thf(2500,plain,
    order @ bool,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[382]) ).

thf(172,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ B ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ C ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ B ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) ) ) ) @ C ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_580_ThrowRedsNull) ).

thf(1766,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ B ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ C ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ B ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) ) ) ) @ C ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[172]) ).

thf(352,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ C ) @ D ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ C ) ) @ D ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_566_CastNull) ).

thf(2379,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ C ) @ D ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ C ) ) @ D ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[352]) ).

thf(925,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ G ) @ H ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fTrue ) ) ) @ I ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ C ) @ I ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ G ) @ C ) ) @ E ) @ A ) @ B ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ G ) @ C ) ) @ H ) @ A ) @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_652_WhileT) ).

thf(4431,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ G ) @ H ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fTrue ) ) ) @ I ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ C ) @ I ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ G ) @ C ) ) @ E ) @ A ) @ B ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ G ) @ C ) ) @ H ) @ A ) @ B ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[925]) ).

thf(825,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) ) @ ( widen @ A ) )
      = ( widen @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeRel_Owiden_res) ).

thf(4093,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) ) @ ( widen @ A ) )
      = ( widen @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[825]) ).

thf(23,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( produc1605651328_split @ A @ B @ C )
      = ( product_prod_case @ A @ B @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_84_internal__split__def) ).

thf(1240,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( produc1605651328_split @ A @ B @ C )
      = ( product_prod_case @ A @ B @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[23]) ).

thf(398,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ C ) @ D )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ E ) @ F ) ) )
     => ( ~ ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( transitive_rtranclp @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( subcls1p @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) ) @ E ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ B ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ classCast ) ) ) ) ) @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_601_redp__redsp_ORedCastFail) ).

thf(2558,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ C ) @ D )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ E ) @ F ) ) )
     => ( ~ ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( transitive_rtranclp @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( subcls1p @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) ) @ E ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ B ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ classCast ) ) ) ) ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[398]) ).

thf(629,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ F ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ B ) @ A ) )
         => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ B ) @ C ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ E ) ) @ ( hAPP @ ( list @ char ) @ ty @ class @ A ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_603_WTrtCast) ).

thf(3415,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ F ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ B ) @ A ) )
         => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ B ) @ C ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ E ) ) @ ( hAPP @ ( list @ char ) @ ty @ class @ A ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[629]) ).

thf(16,axiom,
    ( ( ti @ bop @ c_Expr_Obop_OEq )
    = c_Expr_Obop_OEq ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Obop_OEq_res) ).

thf(1221,plain,
    ( ( ti @ bop @ c_Expr_Obop_OEq )
    = c_Expr_Obop_OEq ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[16]) ).

thf(939,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_377_exp_Osimps_I159_J) ).

thf(4488,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[939]) ).

thf(517,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ F ) @ G ) @ H ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_376_exp_Osimps_I155_J) ).

thf(2975,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ F ) @ G ) @ H ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[517]) ).

thf(1012,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hAPP @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( fun_upd @ B @ ( option @ A ) ) @ C ) @ D ) @ ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ E ) )
        = ( hAPP @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( fun_upd @ B @ ( option @ A ) ) @ F ) @ D ) @ ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ G ) ) )
     => ( ( ti @ A @ E )
        = ( ti @ A @ G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_6_map__upd__eqD1) ).

thf(4748,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hAPP @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( fun_upd @ B @ ( option @ A ) ) @ C ) @ D ) @ ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ E ) )
        = ( hAPP @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( fun_upd @ B @ ( option @ A ) ) @ F ) @ D ) @ ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ G ) ) )
     => ( ( ti @ A @ E )
        = ( ti @ A @ G ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1012]) ).

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] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ G ) @ H ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ I ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ J ) @ K ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ J @ I )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ E ) ) )
       => ( ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ D ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ F ) ) ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ G ) @ C ) @ A ) @ B ) ) @ H ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ I ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ J ) @ K ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_471_TryThrow) ).

thf(1955,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ G ) @ H ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ I ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ J ) @ K ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ J @ I )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ E ) ) )
       => ( ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ D ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ F ) ) ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ G ) @ C ) @ A ) @ B ) ) @ H ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ I ) ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ J ) @ K ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[225]) ).

thf(829,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ ( hAPP @ ( list @ char ) @ ty @ class @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ D ) )
       => ( ! [F: $i] :
              ( D
             != ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) )
         => ~ ! [F: $i] :
                ( D
               != ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_520_final__addrE) ).

thf(4106,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ ( hAPP @ ( list @ char ) @ ty @ class @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ D ) )
       => ( ! [F: $i] :
              ( D
             != ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) )
         => ~ ! [F: $i] :
                ( D
               != ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ F ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[829]) ).

thf(94,axiom,
    ! [A: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ A ) )
    <=> ( ( A = nt )
        | ? [B: $i] :
            ( A
            = ( hAPP @ ( list @ char ) @ ty @ class @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_714_is__refT__def) ).

thf(1506,plain,
    ! [A: $i] :
      ( ( ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ A ) )
       => ( ( A = nt )
          | ? [B: $i] :
              ( A
              = ( hAPP @ ( list @ char ) @ ty @ class @ B ) ) ) )
      & ( ( ( A = nt )
          | ? [B: $i] :
              ( A
              = ( hAPP @ ( list @ char ) @ ty @ class @ B ) ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ A ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[94]) ).

thf(811,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_451_exp_Osimps_I99_J) ).

thf(4046,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[811]) ).

thf(956,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( product_prod @ A @ B ) @ C @ ( hAPP @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( product_prod_rec @ A @ B @ C ) @ D ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ E ) @ F ) )
      = ( hAPP @ B @ C @ ( hAPP @ A @ ( fun @ B @ C ) @ D @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_32_prod_Orecs) ).

thf(4538,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( product_prod @ A @ B ) @ C @ ( hAPP @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( product_prod_rec @ A @ B @ C ) @ D ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ E ) @ F ) )
      = ( hAPP @ B @ C @ ( hAPP @ A @ ( fun @ B @ C ) @ D @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[956]) ).

thf(868,axiom,
    ( ( ti @ ( fun @ bool @ val ) @ bool_1 )
    = bool_1 ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Value_Oval_OBool_res) ).

thf(4267,plain,
    ( ( ti @ ( fun @ bool @ val ) @ bool_1 )
    = bool_1 ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[868]) ).

thf(159,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ~ ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ E ) @ ( hAPP @ ( list @ B ) @ ( fun @ B @ bool ) @ ( set @ B ) @ F ) ) )
     => ( ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ E ) @ D ) ) @ F )
        = ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ C ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_891_map__fun__upd) ).

thf(1717,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ~ ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ E ) @ ( hAPP @ ( list @ B ) @ ( fun @ B @ bool ) @ ( set @ B ) @ F ) ) )
     => ( ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ E ) @ D ) ) @ F )
        = ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ C ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[159]) ).

thf(248,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_813_exp_Osimps_I157_J) ).

thf(2030,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[248]) ).

thf(60,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ D ) @ A ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ B ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_91_red__reds_ORedLAss) ).

thf(1372,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ D ) @ A ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ B ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[60]) ).

thf(490,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ E ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ F ) @ C ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_52_conf__hext) ).

thf(2892,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ E ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ F ) @ C ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[490]) ).

thf(402,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
        = ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ C ) )
    <=> ( B = C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_111_exp_Osimps_I3_J) ).

thf(2584,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
          = ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ C ) )
       => ( B = C ) )
      & ( ( B = C )
       => ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
          = ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[402]) ).

thf(998,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_742_exp_Osimps_I18_J) ).

thf(4671,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[998]) ).

thf(483,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ C ) ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ C ) ) @ D ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_472_red__reds_OBinOpThrow2) ).

thf(2865,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ C ) ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ C ) ) @ D ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[483]) ).

thf(501,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ E ) @ D ) )
       => ( ( hAPP @ B @ ( option @ A ) @ ( hAPP @ ( fun @ B @ bool ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ ( option @ A ) ) ) @ ( restrict_map @ B @ A ) @ C ) @ D ) @ E )
          = ( hAPP @ B @ ( option @ A ) @ C @ E ) ) )
      & ( ~ ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ E ) @ D ) )
       => ( ( hAPP @ B @ ( option @ A ) @ ( hAPP @ ( fun @ B @ bool ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ ( option @ A ) ) ) @ ( restrict_map @ B @ A ) @ C ) @ D ) @ E )
          = ( none @ A ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_292_restrict__map__def) ).

thf(2924,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ E ) @ D ) )
       => ( ( hAPP @ B @ ( option @ A ) @ ( hAPP @ ( fun @ B @ bool ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ ( option @ A ) ) ) @ ( restrict_map @ B @ A ) @ C ) @ D ) @ E )
          = ( hAPP @ B @ ( option @ A ) @ C @ E ) ) )
      & ( ~ ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ E ) @ D ) )
       => ( ( hAPP @ B @ ( option @ A ) @ ( hAPP @ ( fun @ B @ bool ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ ( option @ A ) ) ) @ ( restrict_map @ B @ A ) @ C ) @ D ) @ E )
          = ( none @ A ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[501]) ).

thf(689,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ bool ) @ ( is_type @ A ) @ B ) @ C ) )
    <=> ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ty @ bool ) @ ( hAPP @ bool @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ bool @ ( fun @ bool @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ bool @ ( fun @ bool @ ( fun @ bool @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ty @ bool ) ) ) ) @ ( hAPP @ bool @ ( fun @ bool @ ( fun @ bool @ ( fun @ bool @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ty @ bool ) ) ) ) ) @ ( ty_case @ bool ) @ fTrue ) @ fTrue ) @ fTrue ) @ fTrue ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ B ) ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_734_is__type__def) ).

thf(3620,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ bool ) @ ( is_type @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ty @ bool ) @ ( hAPP @ bool @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ bool @ ( fun @ bool @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ bool @ ( fun @ bool @ ( fun @ bool @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ty @ bool ) ) ) ) @ ( hAPP @ bool @ ( fun @ bool @ ( fun @ bool @ ( fun @ bool @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ty @ bool ) ) ) ) ) @ ( ty_case @ bool ) @ fTrue ) @ fTrue ) @ fTrue ) @ fTrue ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ B ) ) @ C ) ) )
      & ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ty @ bool ) @ ( hAPP @ bool @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ bool @ ( fun @ bool @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ bool @ ( fun @ bool @ ( fun @ bool @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ty @ bool ) ) ) ) @ ( hAPP @ bool @ ( fun @ bool @ ( fun @ bool @ ( fun @ bool @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ty @ bool ) ) ) ) ) @ ( ty_case @ bool ) @ fTrue ) @ fTrue ) @ fTrue ) @ fTrue ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ B ) ) @ C ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ bool ) @ ( is_type @ A ) @ B ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[689]) ).

thf(671,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_665_exp_Osimps_I87_J) ).

thf(3565,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[671]) ).

thf(81,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ D ) @ E ) ) @ D ) @ F )
      = ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ D ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_24_fun__upd__upd) ).

thf(1459,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ D ) @ E ) ) @ D ) @ F )
      = ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ D ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[81]) ).

thf(466,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ C ) @ D ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_431_exp_Osimps_I113_J) ).

thf(2818,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ C ) @ D ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[466]) ).

thf(153,axiom,
    ! [A: $i] :
      ( ( ord @ A )
     => ( ( ti @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( ord_less_eq @ A ) )
        = ( ord_less_eq @ A ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Orderings_Oord__class_Oless__eq_res) ).

thf(1685,plain,
    ! [A: $i] :
      ( ( ord @ A )
     => ( ( ti @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( ord_less_eq @ A ) )
        = ( ord_less_eq @ A ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[153]) ).

thf(845,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ C ) @ D )
        = ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ E ) @ D ) )
    <=> ! [F: $i] :
          ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ F ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ D ) ) )
         => ( ( hAPP @ A @ B @ C @ F )
            = ( hAPP @ A @ B @ E @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_890_map__eq__conv) ).

thf(4165,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ C ) @ D )
          = ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ E ) @ D ) )
       => ! [F: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ F ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ D ) ) )
           => ( ( hAPP @ A @ B @ C @ F )
              = ( hAPP @ A @ B @ E @ F ) ) ) )
      & ( ! [F: $i] :
            ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ F ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ D ) ) )
           => ( ( hAPP @ A @ B @ C @ F )
              = ( hAPP @ A @ B @ E @ F ) ) )
       => ( ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ C ) @ D )
          = ( hAPP @ ( list @ A ) @ ( list @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) @ ( map @ A @ B ) @ E ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[845]) ).

thf(564,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ C ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) )
        | ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ C ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ B ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ C ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ D ) @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_286_in__rtrancl__UnI) ).

thf(3171,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ C ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) )
        | ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ C ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ B ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ C ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ D ) @ B ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[564]) ).

thf(764,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ A ) @ B ) @ C ) @ D ) )
     => ( ( hAPP @ ( list @ char ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( fields_1 @ A ) @ B ) @ C )
        = D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_778_fields__def2) ).

thf(3874,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ A ) @ B ) @ C ) @ D ) )
     => ( ( hAPP @ ( list @ char ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( fields_1 @ A ) @ B ) @ C )
        = D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[764]) ).

thf(340,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ E ) @ F ) @ G ) @ H ) @ nt ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts @ E ) @ F ) @ G ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ E ) @ F ) @ G ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ H ) @ A ) @ C ) ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_975_WTrt_H__WTrts_H_Ointros_I13_J) ).

thf(2347,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ E ) @ F ) @ G ) @ H ) @ nt ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts @ E ) @ F ) @ G ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ E ) @ F ) @ G ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ H ) @ A ) @ C ) ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[340]) ).

thf(849,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( start_heap @ A ) @ B )
      = ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( combk @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ nat ) @ ( none @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( blank @ A ) @ B ) @ nullPointer ) ) ) ) @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ classCast ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( blank @ A ) @ B ) @ classCast ) ) ) ) @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ outOfMemory ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( blank @ A ) @ B ) @ outOfMemory ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_558_start__heap__def) ).

thf(4185,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( start_heap @ A ) @ B )
      = ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( combk @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ nat ) @ ( none @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( blank @ A ) @ B ) @ nullPointer ) ) ) ) @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ classCast ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( blank @ A ) @ B ) @ classCast ) ) ) ) @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ outOfMemory ) ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( blank @ A ) @ B ) @ outOfMemory ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[849]) ).

thf(690,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ C @ D ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ B ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ B @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_135_rev__predicate1D) ).

thf(3625,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ C @ D ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ B ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ B @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[690]) ).

thf(836,axiom,
    ( ( ti @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ h_a )
    = h_a ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_h_Ha_____res) ).

thf(4138,plain,
    ( ( ti @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ h_a )
    = h_a ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[836]) ).

thf(342,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ B ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) ) @ E ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_153_redp__redsp_ORedBlock) ).

thf(2352,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ B ) @ C ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) ) @ E ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[342]) ).

thf(1072,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ bool ) ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ E @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ F @ C ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_229_predicate2D) ).

thf(4944,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ bool ) ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ E @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ B @ bool @ ( hAPP @ A @ ( fun @ B @ bool ) @ F @ C ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1072]) ).

thf(46,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( combc @ A @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) ) @ B ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( combc @ A @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) ) @ C ) ) @ D ) )
    <=> ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_259_sup__Un__eq) ).

thf(1321,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( combc @ A @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) ) @ B ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( combc @ A @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) ) @ C ) ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ C ) ) ) )
      & ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ C ) ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( combc @ A @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) ) @ B ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( combc @ A @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) ) @ C ) ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[46]) ).

thf(177,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ E ) @ F ) @ ( none @ val ) ) ) ) @ G ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ I ) ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ F ) @ A ) @ C ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ E ) ) @ G ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ I ) @ F ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ E @ F ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_237_Block) ).

thf(1781,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ E ) @ F ) @ ( none @ val ) ) ) ) @ G ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ I ) ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ F ) @ A ) @ C ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ D ) @ E ) ) @ G ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ I ) @ F ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ E @ F ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[177]) ).

thf(14,axiom,
    ( ( ti @ ty @ void )
    = void ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_Oty_OVoid_res) ).

thf(1216,plain,
    ( ( ti @ ty @ void )
    = void ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[14]) ).

thf(298,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ A ) @ B ) @ ( hAPP @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ ty ) ) @ C ) @ D ) @ ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ E ) ) ) @ F ) @ G ) )
     => ( ~ ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ bool ) @ assigned @ D ) @ F ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ A ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ D ) @ E ) @ F ) ) @ G ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_554_WTrt_H__WTrts_H_Ointros_I17_J) ).

thf(2209,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ A ) @ B ) @ ( hAPP @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ ty ) @ ( fun @ ( list @ char ) @ ( option @ ty ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ ty ) ) @ C ) @ D ) @ ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ E ) ) ) @ F ) @ G ) )
     => ( ~ ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ bool ) @ assigned @ D ) @ F ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ A ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ D ) @ E ) @ F ) ) @ G ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[298]) ).

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] : ( hBOOL @ ( hAPP @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ bool @ H @ ( hAPP @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ ( hAPP @ A @ ( fun @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ I ) @ ( hAPP @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ ( hAPP @ B @ ( fun @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ J ) @ ( hAPP @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ ( hAPP @ C @ ( fun @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ K ) @ ( hAPP @ ( product_prod @ E @ F ) @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ ( hAPP @ D @ ( fun @ ( product_prod @ E @ F ) @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ ( product_Pair @ D @ ( product_prod @ E @ F ) ) @ L ) @ ( hAPP @ F @ ( product_prod @ E @ F ) @ ( hAPP @ E @ ( fun @ F @ ( product_prod @ E @ F ) ) @ ( product_Pair @ E @ F ) @ M ) @ N ) ) ) ) ) ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ bool @ H @ G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_8_prod__induct6) ).

thf(2187,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] : ( hBOOL @ ( hAPP @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ bool @ H @ ( hAPP @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ ( hAPP @ A @ ( fun @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ I ) @ ( hAPP @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ ( hAPP @ B @ ( fun @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ J ) @ ( hAPP @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ ( hAPP @ C @ ( fun @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ K ) @ ( hAPP @ ( product_prod @ E @ F ) @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ ( hAPP @ D @ ( fun @ ( product_prod @ E @ F ) @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ ( product_Pair @ D @ ( product_prod @ E @ F ) ) @ L ) @ ( hAPP @ F @ ( product_prod @ E @ F ) @ ( hAPP @ E @ ( fun @ F @ ( product_prod @ E @ F ) ) @ ( product_Pair @ E @ F ) @ M ) @ N ) ) ) ) ) ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) @ bool @ H @ G ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[291]) ).

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(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] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ Q ) @ R ) @ S ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ T ) ) ) @ U ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ Q ) @ M ) @ U ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ N ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ O ) @ P ) ) )
       => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ O @ T )
            = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ K ) @ L ) ) )
         => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ Q ) @ K ) @ E ) @ F ) @ G ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ H ) @ I ) ) @ J ) )
           => ( ( ( hAPP @ ( list @ val ) @ nat @ ( size_size @ ( list @ val ) ) @ N )
                = ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ H ) )
             => ( ( D
                  = ( hAPP @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( map_upds @ ( list @ char ) @ val ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( combk @ ( option @ val ) @ ( list @ char ) ) @ ( none @ val ) ) ) @ this ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ ( hAPP @ nat @ val @ addr @ T ) ) ) ) @ H ) @ N ) )
               => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ Q ) @ I ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ O ) @ D ) ) @ A ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ C ) ) )
                 => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ Q ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ R ) @ E ) @ M ) ) @ S ) @ A ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ P ) ) ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_948_Call) ).

thf(2110,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] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ Q ) @ R ) @ S ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ T ) ) ) @ U ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ Q ) @ M ) @ U ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ N ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ O ) @ P ) ) )
       => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ O @ T )
            = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ K ) @ L ) ) )
         => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ Q ) @ K ) @ E ) @ F ) @ G ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ H ) @ I ) ) @ J ) )
           => ( ( ( hAPP @ ( list @ val ) @ nat @ ( size_size @ ( list @ val ) ) @ N )
                = ( hAPP @ ( list @ ( list @ char ) ) @ nat @ ( size_size @ ( list @ ( list @ char ) ) ) @ H ) )
             => ( ( D
                  = ( hAPP @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ ( list @ char ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( map_upds @ ( list @ char ) @ val ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( combk @ ( option @ val ) @ ( list @ char ) ) @ ( none @ val ) ) ) @ this ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ ( hAPP @ nat @ val @ addr @ T ) ) ) ) @ H ) @ N ) )
               => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ Q ) @ I ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ O ) @ D ) ) @ A ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ C ) ) )
                 => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ Q ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ R ) @ E ) @ M ) ) @ S ) @ A ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ B ) @ P ) ) ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[268]) ).

thf(603,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_400_redp__redsp_OBlockThrow) ).

thf(3320,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ D ) ) ) ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[603]) ).

thf(500,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ bool ) ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ ( combc @ A @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) ) @ ( combb @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) @ A ) @ ( combc @ B @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) ) @ ( combb @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( combb @ ( product_prod @ A @ B ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) @ B ) @ ( member @ ( product_prod @ A @ B ) ) ) ) @ ( product_Pair @ A @ B ) ) ) ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ ( combc @ A @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) ) @ ( combb @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) @ A ) @ ( combc @ B @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) ) @ ( combb @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( combb @ ( product_prod @ A @ B ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) @ B ) @ ( member @ ( product_prod @ A @ B ) ) ) ) @ ( product_Pair @ A @ B ) ) ) ) @ D ) ) )
    <=> ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( product_prod @ A @ B ) @ bool ) ) @ C ) @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_204_pred__subset__eq2) ).

thf(2919,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ bool ) ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ ( combc @ A @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) ) @ ( combb @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) @ A ) @ ( combc @ B @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) ) @ ( combb @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( combb @ ( product_prod @ A @ B ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) @ B ) @ ( member @ ( product_prod @ A @ B ) ) ) ) @ ( product_Pair @ A @ B ) ) ) ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ ( combc @ A @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) ) @ ( combb @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) @ A ) @ ( combc @ B @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) ) @ ( combb @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( combb @ ( product_prod @ A @ B ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) @ B ) @ ( member @ ( product_prod @ A @ B ) ) ) ) @ ( product_Pair @ A @ B ) ) ) ) @ D ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( product_prod @ A @ B ) @ bool ) ) @ C ) @ D ) ) )
      & ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( product_prod @ A @ B ) @ bool ) ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ bool ) ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ ( combc @ A @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) ) @ ( combb @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) @ A ) @ ( combc @ B @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) ) @ ( combb @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( combb @ ( product_prod @ A @ B ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) @ B ) @ ( member @ ( product_prod @ A @ B ) ) ) ) @ ( product_Pair @ A @ B ) ) ) ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ A @ ( fun @ B @ bool ) ) ) @ ( combc @ A @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) ) ) @ ( combb @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ ( fun @ B @ bool ) ) @ A ) @ ( combc @ B @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) ) @ ( fun @ A @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) ) @ ( combb @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( fun @ B @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) ) ) @ ( combb @ ( product_prod @ A @ B ) @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ bool ) @ bool ) @ B ) @ ( member @ ( product_prod @ A @ B ) ) ) ) @ ( product_Pair @ A @ B ) ) ) ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[500]) ).

thf(38,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ C ) @ D ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ D ) @ B ) )
       => ? [E: $i] : ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ A ) @ D ) @ B ) @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_776_wf__Fields__Ex) ).

thf(1289,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ C ) @ D ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ D ) @ B ) )
       => ? [E: $i] : ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ bool ) ) @ ( fields @ A ) @ D ) @ B ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[38]) ).

thf(79,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_450_exp_Osimps_I104_J) ).

thf(1453,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[79]) ).

thf(200,axiom,
    ! [A: $i,B: $i] :
      ( ( preorder @ B )
     => ( preorder @ ( fun @ A @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_fun___Orderings_Opreorder) ).

thf(1866,plain,
    ! [A: $i,B: $i] :
      ( ( preorder @ B )
     => ( preorder @ ( fun @ A @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[200]) ).

thf(778,axiom,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( map_add @ A @ B ) )
      = ( map_add @ A @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Map_Omap__add_res) ).

thf(3929,plain,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( map_add @ A @ B ) )
      = ( map_add @ A @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[778]) ).

thf(162,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_806_exp_Osimps_I192_J) ).

thf(1734,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[162]) ).

thf(884,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ D ) @ E ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ F ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ G ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ I ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ G ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ E ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ E ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ F ) ) ) @ B ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ G ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ I ) @ E ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ D @ E ) ) ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_168_InitBlockRedsFinal) ).

thf(4310,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ D ) @ E ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ F ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ G ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ I ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ G ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( block @ ( list @ char ) ) @ E ) @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ E ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ F ) ) ) @ B ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ G ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ H ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ I ) @ E ) @ ( hAPP @ ( list @ char ) @ ( option @ val ) @ D @ E ) ) ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[884]) ).

thf(185,axiom,
    ! [A: $i] :
      ( ( order @ A )
     => ! [B: $i,C: $i,D: $i] :
          ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ D ) )
         => ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ C ) )
           => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ D ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_206_xt1_I6_J) ).

thf(1807,plain,
    ! [A: $i] :
      ( ( order @ A )
     => ! [B: $i,C: $i,D: $i] :
          ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ D ) )
         => ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ C ) )
           => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[185]) ).

thf(1145,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ A ) @ C ) @ D ) @ E ) @ F ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ C ) ) ) )
       => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ A ) @ C ) @ B ) @ E ) @ F ) @ G ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_461_has__field__mono) ).

thf(5184,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ A ) @ C ) @ D ) @ E ) @ F ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ B ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( transitive_rtrancl @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ bool ) @ ( subcls1 @ A ) @ C ) ) ) )
       => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ A ) @ C ) @ B ) @ E ) @ F ) @ G ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1145]) ).

thf(1000,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ bool ) ) @ ( is_type @ A ) )
      = ( is_type @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Decl_Ois__type_res) ).

thf(4678,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ bool ) ) @ ( is_type @ A ) )
      = ( is_type @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1000]) ).

thf(533,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ C ) @ D )
        = ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ E ) @ F ) )
    <=> ? [G: $i,H: $i] :
          ( ( F
            = ( hAPP @ ( list @ B ) @ ( list @ B ) @ ( hAPP @ B @ ( fun @ ( list @ B ) @ ( list @ B ) ) @ ( cons @ B ) @ G ) @ H ) )
          & ( ( ti @ A @ C )
            = ( hAPP @ B @ A @ E @ G ) )
          & ( D
            = ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ E ) @ H ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_870_Cons__eq__map__conv) ).

thf(3039,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ C ) @ D )
          = ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ E ) @ F ) )
       => ? [G: $i,H: $i] :
            ( ( F
              = ( hAPP @ ( list @ B ) @ ( list @ B ) @ ( hAPP @ B @ ( fun @ ( list @ B ) @ ( list @ B ) ) @ ( cons @ B ) @ G ) @ H ) )
            & ( ( ti @ A @ C )
              = ( hAPP @ B @ A @ E @ G ) )
            & ( D
              = ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ E ) @ H ) ) ) )
      & ( ? [G: $i,H: $i] :
            ( ( F
              = ( hAPP @ ( list @ B ) @ ( list @ B ) @ ( hAPP @ B @ ( fun @ ( list @ B ) @ ( list @ B ) ) @ ( cons @ B ) @ G ) @ H ) )
            & ( ( ti @ A @ C )
              = ( hAPP @ B @ A @ E @ G ) )
            & ( D
              = ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ E ) @ H ) ) )
       => ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ C ) @ D )
          = ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ E ) @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[533]) ).

thf(1181,axiom,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ C ) @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_26_widen__refl) ).

thf(5315,plain,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ B ) @ C ) @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1181]) ).

thf(432,axiom,
    ! [A: $i,B: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ B ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( member @ ( list @ char ) ) @ A ) @ sys_xcpts ) )
       => ? [C: $i] :
            ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ B @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ A ) )
            = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ A ) @ C ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_621_preallocatedD) ).

thf(2707,plain,
    ! [A: $i,B: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ preallocated @ B ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( member @ ( list @ char ) ) @ A ) @ sys_xcpts ) )
       => ? [C: $i] :
            ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ B @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ A ) )
            = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ A ) @ C ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[432]) ).

thf(285,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ C ) @ D ) )
     => ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ C ) @ A )
          = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ B ) )
       => ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ D ) @ A )
          = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_534_hext__typeof__mono) ).

thf(2167,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ bool ) @ hext @ C ) @ D ) )
     => ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ C ) @ A )
          = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ B ) )
       => ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ D ) @ A )
          = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[285]) ).

thf(735,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ C ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ C ) ) @ ( comp @ B @ C @ A ) @ E ) @ F )
        = ( hAPP @ ( fun @ A @ D ) @ ( fun @ A @ C ) @ ( hAPP @ ( fun @ D @ C ) @ ( fun @ ( fun @ A @ D ) @ ( fun @ A @ C ) ) @ ( comp @ D @ C @ A ) @ G ) @ H ) )
     => ! [I: $i] :
          ( ( hAPP @ B @ C @ E @ ( hAPP @ A @ B @ F @ I ) )
          = ( hAPP @ D @ C @ G @ ( hAPP @ A @ D @ H @ I ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_994_o__eq__elim) ).

thf(3789,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ C ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ C ) ) @ ( comp @ B @ C @ A ) @ E ) @ F )
        = ( hAPP @ ( fun @ A @ D ) @ ( fun @ A @ C ) @ ( hAPP @ ( fun @ D @ C ) @ ( fun @ ( fun @ A @ D ) @ ( fun @ A @ C ) ) @ ( comp @ D @ C @ A ) @ G ) @ H ) )
     => ! [I: $i] :
          ( ( hAPP @ B @ C @ E @ ( hAPP @ A @ B @ F @ I ) )
          = ( hAPP @ D @ C @ G @ ( hAPP @ A @ D @ H @ I ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[735]) ).

thf(824,axiom,
    ! [A: $i] :
      ( null
     != ( hAPP @ nat @ val @ addr @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_564_val_Osimps_I16_J) ).

thf(4089,plain,
    ! [A: $i] :
      ( null
     != ( hAPP @ nat @ val @ addr @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[824]) ).

thf(1002,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ D ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_637_exp_Osimps_I65_J) ).

thf(4683,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ D ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1002]) ).

thf(516,axiom,
    ! [A: $i] :
      ( ( hAPP @ nat @ val @ addr @ A )
     != null ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_565_val_Osimps_I17_J) ).

thf(2971,plain,
    ! [A: $i] :
      ( ( hAPP @ nat @ val @ addr @ A )
     != null ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[516]) ).

thf(669,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_509_red__reds_OCastRed) ).

thf(3561,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[669]) ).

thf(1117,axiom,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ init_fields )
    = init_fields ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Objects_Oinit__fields_res) ).

thf(5087,plain,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ init_fields )
    = init_fields ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1117]) ).

thf(582,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ B ) @ C ) )
     => ? [D: $i,E: $i,F: $i] :
          ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ C ) @ object )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ D ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ E ) @ F ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_731_class__Object) ).

thf(3252,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ B ) @ C ) )
     => ? [D: $i,E: $i,F: $i] :
          ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ C ) @ object )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ D ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( product_Pair @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ E ) @ F ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[582]) ).

thf(933,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ C ) @ ( hAPP @ ( list @ B ) @ ( list @ B ) @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ B ) @ ( list @ B ) ) @ ( append @ B ) @ D ) @ E ) ) @ F ) )
    <=> ? [G: $i,H: $i] :
          ( ( F
            = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ G ) @ H ) )
          & ( ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ G )
            = ( hAPP @ ( list @ B ) @ nat @ ( size_size @ ( list @ B ) ) @ D ) )
          & ( ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ H )
            = ( hAPP @ ( list @ B ) @ nat @ ( size_size @ ( list @ B ) ) @ E ) )
          & ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ C ) @ D ) @ G ) )
          & ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ C ) @ E ) @ H ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_980_list__all2__append1) ).

thf(4451,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ C ) @ ( hAPP @ ( list @ B ) @ ( list @ B ) @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ B ) @ ( list @ B ) ) @ ( append @ B ) @ D ) @ E ) ) @ F ) )
       => ? [G: $i,H: $i] :
            ( ( F
              = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ G ) @ H ) )
            & ( ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ G )
              = ( hAPP @ ( list @ B ) @ nat @ ( size_size @ ( list @ B ) ) @ D ) )
            & ( ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ H )
              = ( hAPP @ ( list @ B ) @ nat @ ( size_size @ ( list @ B ) ) @ E ) )
            & ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ C ) @ D ) @ G ) )
            & ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ C ) @ E ) @ H ) ) ) )
      & ( ? [G: $i,H: $i] :
            ( ( F
              = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ G ) @ H ) )
            & ( ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ G )
              = ( hAPP @ ( list @ B ) @ nat @ ( size_size @ ( list @ B ) ) @ D ) )
            & ( ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ H )
              = ( hAPP @ ( list @ B ) @ nat @ ( size_size @ ( list @ B ) ) @ E ) )
            & ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ C ) @ D ) @ G ) )
            & ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ C ) @ E ) @ H ) ) )
       => ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ C ) @ ( hAPP @ ( list @ B ) @ ( list @ B ) @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ B ) @ ( list @ B ) ) @ ( append @ B ) @ D ) @ E ) ) @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[933]) ).

thf(1163,axiom,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) ) @ wTrt )
    = wTrt ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Progress_OWTrt_H_res) ).

thf(5258,plain,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) ) @ wTrt )
    = wTrt ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1163]) ).

thf(403,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ ( hAPP @ ( list @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( map_upds @ A @ B ) @ D ) @ E ) @ F ) )
      = ( hAPP @ ( list @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( map_upds @ A @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_923_map__add__upds) ).

thf(2591,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ ( hAPP @ ( list @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( map_upds @ A @ B ) @ D ) @ E ) @ F ) )
      = ( hAPP @ ( list @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( map_upds @ A @ B ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ D ) ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[403]) ).

thf(120,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fFalse ) ) ) @ B ) @ C ) ) @ D ) @ C ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_692_redp__redsp_ORedCondF) ).

thf(1590,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fFalse ) ) ) @ B ) @ C ) ) @ D ) @ C ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[120]) ).

thf(47,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ D ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_626_exp_Osimps_I149_J) ).

thf(1326,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ D ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[47]) ).

thf(833,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ F @ G )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ H ) @ I ) ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ F ) @ G ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ H ) @ C ) ) ) ) @ D ) @ E ) )
      <=> ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ F ) @ D ) @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_53_conf__upd__obj) ).

thf(4121,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ F @ G )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ H ) @ I ) ) )
     => ( ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ F ) @ G ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ H ) @ C ) ) ) ) @ D ) @ E ) )
         => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ F ) @ D ) @ E ) ) )
        & ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ F ) @ D ) @ E ) )
         => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ B ) @ ( hAPP @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ nat @ ( fun @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) ) ) @ ( fun_upd @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ F ) @ G ) @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ H ) @ C ) ) ) ) @ D ) @ E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[833]) ).

thf(761,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fFalse ) ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_698_red__reds_ORedCondF) ).

thf(3864,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fFalse ) ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[761]) ).

thf(63,axiom,
    ! [A: $i,B: $i] :
      ( ( none @ A )
     != ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_138_option_Osimps_I2_J) ).

thf(1385,plain,
    ! [A: $i,B: $i] :
      ( ( none @ A )
     != ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[63]) ).

thf(404,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ C ) @ A ) @ B ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_832_CallRedsThrowObj) ).

thf(2594,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ C ) @ A ) @ B ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[404]) ).

thf(287,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ D ) @ E ) )
     => ( ( hAPP @ B @ ( option @ A ) @ ( hAPP @ ( fun @ B @ bool ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ ( option @ A ) ) ) @ ( restrict_map @ B @ A ) @ C ) @ E ) @ D )
        = ( hAPP @ B @ ( option @ A ) @ C @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_284_restrict__in) ).

thf(2174,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ D ) @ E ) )
     => ( ( hAPP @ B @ ( option @ A ) @ ( hAPP @ ( fun @ B @ bool ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ ( option @ A ) ) ) @ ( restrict_map @ B @ A ) @ C ) @ E ) @ D )
        = ( hAPP @ B @ ( option @ A ) @ C @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[287]) ).

thf(321,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
     != ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_822_exp_Osimps_I187_J) ).

thf(2283,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
     != ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[321]) ).

thf(87,axiom,
    ( ( ti @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ fv )
    = fv ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Ofv_res) ).

thf(1476,plain,
    ( ( ti @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ fv )
    = fv ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[87]) ).

thf(51,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ E ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_942_Transitive__Closure_Otrancl__into__trancl) ).

thf(1341,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ E ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[51]) ).

thf(648,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ A ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( dom @ ( list @ char ) @ val ) @ D ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( dom @ ( list @ char ) @ val ) @ G ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_840_evals__lcl__incr) ).

thf(3484,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ A ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( dom @ ( list @ char ) @ val ) @ D ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( dom @ ( list @ char ) @ val ) @ G ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[648]) ).

thf(1169,axiom,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) ) @ ( map_upds @ A @ B ) )
      = ( map_upds @ A @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Map_Omap__upds_res) ).

thf(5272,plain,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( list @ A ) @ ( fun @ ( list @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) ) @ ( map_upds @ A @ B ) )
      = ( map_upds @ A @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1169]) ).

thf(323,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_634_exp_Osimps_I111_J) ).

thf(2290,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[323]) ).

thf(748,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) )
     => ( ( ( ti @ A @ B )
         != ( ti @ A @ C ) )
       => ~ ! [E: $i] :
              ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ E ) ) @ D ) )
             => ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ E ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_225_converse__rtranclE) ).

thf(3825,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) )
     => ( ( ( ti @ A @ B )
         != ( ti @ A @ C ) )
       => ~ ! [E: $i] :
              ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ E ) ) @ D ) )
             => ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ E ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[748]) ).

thf(1090,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_748_exp_Osimps_I27_J) ).

thf(5008,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1090]) ).

thf(359,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ C ) @ D ) )
      = ( hAPP @ ( list @ B ) @ nat @ ( size_size @ ( list @ B ) ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_930_length__map) ).

thf(2406,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( list @ A ) @ nat @ ( size_size @ ( list @ A ) ) @ ( hAPP @ ( list @ B ) @ ( list @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( list @ B ) @ ( list @ A ) ) @ ( map @ B @ A ) @ C ) @ D ) )
      = ( hAPP @ ( list @ B ) @ nat @ ( size_size @ ( list @ B ) ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[359]) ).

thf(391,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_193_converse__rtrancl__into__rtrancl) ).

thf(2532,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[391]) ).

thf(1001,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ C ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ E ) ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_142_redp__redsp_OLAssRed) ).

thf(4681,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ C ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ E ) ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1001]) ).

thf(1155,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_943_trancl__into__trancl2) ).

thf(5228,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1155]) ).

thf(246,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ C ) @ A ) @ B ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ E ) @ A ) @ B ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_695_CondReds) ).

thf(2026,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ C ) @ A ) @ B ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ E ) @ A ) @ B ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[246]) ).

thf(552,axiom,
    ( ( ti @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ bool ) ) @ assigned )
    = assigned ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_SmallStep_Oassigned_res) ).

thf(3136,plain,
    ( ( ti @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ bool ) ) @ assigned )
    = assigned ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[552]) ).

thf(1122,axiom,
    ( ( ti @ ( list @ char ) @ classCast )
    = classCast ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Exceptions_OClassCast_res) ).

thf(5104,plain,
    ( ( ti @ ( list @ char ) @ classCast )
    = classCast ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1122]) ).

thf(703,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_118_exp_Osimps_I75_J) ).

thf(3662,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[703]) ).

thf(388,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ B )
      = ( ti @ ( fun @ A @ bool ) @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_247_Un__absorb) ).

thf(2526,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ B )
      = ( ti @ ( fun @ A @ bool ) @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[388]) ).

thf(361,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( blank @ A ) @ B ) @ C )
      = ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ init_fields @ ( hAPP @ ( list @ char ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( fields_1 @ A ) @ B ) @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_777_blank__def) ).

thf(2416,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( blank @ A ) @ B ) @ C )
      = ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ init_fields @ ( hAPP @ ( list @ char ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( list @ ( product_prod @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ty ) ) ) @ ( fields_1 @ A ) @ B ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[361]) ).

thf(1057,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ C ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_643_exp_Osimps_I221_J) ).

thf(4900,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ C ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1057]) ).

thf(314,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ val @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ C ) @ D ) ) @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ C ) ) @ F ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ val @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ C ) @ D ) ) @ E ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_974_confs__widens) ).

thf(2262,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ val @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ C ) @ D ) ) @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ C ) ) @ F ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ val ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ val @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ C ) @ D ) ) @ E ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[314]) ).

thf(369,axiom,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) ) @ ( map @ A @ B ) )
      = ( map @ A @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_List_Omap_res) ).

thf(2447,plain,
    ! [A: $i,B: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ B ) @ ( fun @ ( list @ A ) @ ( list @ B ) ) ) @ ( map @ A @ B ) )
      = ( map @ A @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[369]) ).

thf(241,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_402_red__reds_OFAssThrow2) ).

thf(2009,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[241]) ).

thf(260,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ C ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_751_exp_Osimps_I16_J) ).

thf(2081,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ C ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[260]) ).

thf(354,axiom,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ B ) @ C ) @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_589_rtranclp_Ortrancl__refl) ).

thf(2384,plain,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ B ) @ C ) @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[354]) ).

thf(1078,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
        = ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ E ) @ F ) @ G ) )
    <=> ( ( B = E )
        & ( C = F )
        & ( D = G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_349_exp_Osimps_I7_J) ).

thf(4964,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
          = ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ E ) @ F ) @ G ) )
       => ( ( B = E )
          & ( C = F )
          & ( D = G ) ) )
      & ( ( ( B = E )
          & ( C = F )
          & ( D = G ) )
       => ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
          = ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ E ) @ F ) @ G ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1078]) ).

thf(295,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ti @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( fun @ A @ ( fun @ B @ C ) ) ) @ ( product_curry @ A @ B @ C ) )
      = ( product_curry @ A @ B @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Product__Type_Ocurry_res) ).

thf(2198,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ti @ ( fun @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( fun @ A @ ( fun @ B @ C ) ) ) @ ( product_curry @ A @ B @ C ) )
      = ( product_curry @ A @ B @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[295]) ).

thf(157,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ D ) ) )
    <=> ( ( hAPP @ A @ ( option @ B ) @ D @ C )
       != ( none @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_145_domIff) ).

thf(1706,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ D ) ) )
       => ( ( hAPP @ A @ ( option @ B ) @ D @ C )
         != ( none @ B ) ) )
      & ( ( ( hAPP @ A @ ( option @ B ) @ D @ C )
         != ( none @ B ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[157]) ).

thf(290,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ C ) @ D ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_754_exp_Osimps_I32_J) ).

thf(2183,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ C ) @ D ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[290]) ).

thf(1112,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_403_LAssRedsThrow) ).

thf(5072,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1112]) ).

thf(494,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) ) @ ( class_1 @ A ) )
      = ( class_1 @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Decl_Oclass_res) ).

thf(2902,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) ) @ ( class_1 @ A ) )
      = ( class_1 @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[494]) ).

thf(1130,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ C ) @ D )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ E ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ A ) @ C ) @ B ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_545_WTrt_H__WTrts_H_Ointros_I3_J) ).

thf(5128,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ C ) @ D )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ E ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ A ) @ C ) @ B ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1130]) ).

thf(499,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ C ) ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ C ) ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_507_redp__redsp_OCastThrow) ).

thf(2917,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ C ) ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ C ) ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[499]) ).

thf(666,axiom,
    ! [A: $i,B: $i] :
      ( ( lattice @ B )
     => ( semilattice_sup @ ( fun @ A @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_fun___Lattices_Osemilattice__sup) ).

thf(3552,plain,
    ! [A: $i,B: $i] :
      ( ( lattice @ B )
     => ( semilattice_sup @ ( fun @ A @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[666]) ).

thf(458,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_449_exp_Osimps_I105_J) ).

thf(2796,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[458]) ).

thf(1138,axiom,
    ! [A: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wf_J_mdecl ) @ A ) )
     => ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ A ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_221_wf__prog__wwf__prog) ).

thf(5164,plain,
    ! [A: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wf_J_mdecl ) @ A ) )
     => ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ A ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1138]) ).

thf(1137,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_936_rtrancl__into__trancl2) ).

thf(5162,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1137]) ).

thf(846,axiom,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i] :
          ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ C ) )
         => ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ C )
            = ( ti @ A @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_332_sup__absorb2) ).

thf(4175,plain,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i] :
          ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ C ) )
         => ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ C )
            = ( ti @ A @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[846]) ).

thf(840,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_826_exp_Osimps_I191_J) ).

thf(4153,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[840]) ).

thf(754,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ H ) ) ) @ I ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ I ) @ H )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ E ) ) )
       => ( ( ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) @ E @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ A ) @ B ) )
            = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ C ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ F ) @ A ) @ B ) ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ C ) ) @ I ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_336_FAccRedsVal) ).

thf(3844,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ H ) ) ) @ I ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ hp @ I ) @ H )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ E ) ) )
       => ( ( ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) @ E @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ A ) @ B ) )
            = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ C ) )
         => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ F ) @ A ) @ B ) ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ C ) ) @ I ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[754]) ).

thf(677,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( product_prod @ A @ B ) @ C @ ( hAPP @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( produc1605651328_split @ A @ B @ C ) @ D ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ E ) @ F ) )
      = ( hAPP @ B @ C @ ( hAPP @ A @ ( fun @ B @ C ) @ D @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_37_internal__split__conv) ).

thf(3585,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( product_prod @ A @ B ) @ C @ ( hAPP @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( produc1605651328_split @ A @ B @ C ) @ D ) @ ( hAPP @ B @ ( product_prod @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( product_prod @ A @ B ) ) @ ( product_Pair @ A @ B ) @ E ) @ F ) )
      = ( hAPP @ B @ C @ ( hAPP @ A @ ( fun @ B @ C ) @ D @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[677]) ).

thf(974,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ F ) @ G ) @ H ) @ I ) @ ( hAPP @ ( list @ char ) @ ty @ class @ J ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ F ) @ J ) @ C ) @ D ) @ E ) )
       => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ F ) @ G ) @ H ) @ A ) @ B ) )
         => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ F ) @ B ) @ D ) )
           => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ F ) @ G ) @ H ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ I ) @ C ) @ E ) @ A ) ) @ void ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_514_WTrtFAss) ).

thf(4591,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ F ) @ G ) @ H ) @ I ) @ ( hAPP @ ( list @ char ) @ ty @ class @ J ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ F ) @ J ) @ C ) @ D ) @ E ) )
       => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ F ) @ G ) @ H ) @ A ) @ B ) )
         => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ F ) @ B ) @ D ) )
           => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ F ) @ G ) @ H ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ I ) @ C ) @ E ) @ A ) ) @ void ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[974]) ).

thf(681,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ A @ B @ ( hAPP @ ( fun @ A @ C ) @ ( fun @ A @ B ) @ ( hAPP @ ( fun @ A @ ( fun @ C @ B ) ) @ ( fun @ ( fun @ A @ C ) @ ( fun @ A @ B ) ) @ ( combs @ A @ C @ B ) @ D ) @ E ) @ F )
      = ( hAPP @ C @ B @ ( hAPP @ A @ ( fun @ C @ B ) @ D @ F ) @ ( hAPP @ A @ C @ E @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_COMBS_1_1_U) ).

thf(3598,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ A @ B @ ( hAPP @ ( fun @ A @ C ) @ ( fun @ A @ B ) @ ( hAPP @ ( fun @ A @ ( fun @ C @ B ) ) @ ( fun @ ( fun @ A @ C ) @ ( fun @ A @ B ) ) @ ( combs @ A @ C @ B ) @ D ) @ E ) @ F )
      = ( hAPP @ C @ B @ ( hAPP @ A @ ( fun @ C @ B ) @ D @ F ) @ ( hAPP @ A @ C @ E @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[681]) ).

thf(1124,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_817_exp_Osimps_I103_J) ).

thf(5109,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1124]) ).

thf(1095,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ D ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_184_in__mono) ).

thf(5023,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ D ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1095]) ).

thf(557,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ C ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ C ) ) @ ( comp @ B @ C @ A ) @ E ) @ ( hAPP @ ( fun @ A @ D ) @ ( fun @ A @ B ) @ ( hAPP @ ( fun @ D @ B ) @ ( fun @ ( fun @ A @ D ) @ ( fun @ A @ B ) ) @ ( comp @ D @ B @ A ) @ F ) @ G ) )
      = ( hAPP @ ( fun @ A @ D ) @ ( fun @ A @ C ) @ ( hAPP @ ( fun @ D @ C ) @ ( fun @ ( fun @ A @ D ) @ ( fun @ A @ C ) ) @ ( comp @ D @ C @ A ) @ ( hAPP @ ( fun @ D @ B ) @ ( fun @ D @ C ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( fun @ D @ B ) @ ( fun @ D @ C ) ) @ ( comp @ B @ C @ D ) @ E ) @ F ) ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_997_o__assoc) ).

thf(3149,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ C ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ C ) ) @ ( comp @ B @ C @ A ) @ E ) @ ( hAPP @ ( fun @ A @ D ) @ ( fun @ A @ B ) @ ( hAPP @ ( fun @ D @ B ) @ ( fun @ ( fun @ A @ D ) @ ( fun @ A @ B ) ) @ ( comp @ D @ B @ A ) @ F ) @ G ) )
      = ( hAPP @ ( fun @ A @ D ) @ ( fun @ A @ C ) @ ( hAPP @ ( fun @ D @ C ) @ ( fun @ ( fun @ A @ D ) @ ( fun @ A @ C ) ) @ ( comp @ D @ C @ A ) @ ( hAPP @ ( fun @ D @ B ) @ ( fun @ D @ C ) @ ( hAPP @ ( fun @ B @ C ) @ ( fun @ ( fun @ D @ B ) @ ( fun @ D @ C ) ) @ ( comp @ B @ C @ D ) @ E ) @ F ) ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[557]) ).

thf(324,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ G ) ) ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ G ) @ E ) @ F ) @ A ) @ B ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ G ) @ C ) @ D ) @ A ) @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_836_extend__evals) ).

thf(2294,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ G ) ) ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ G ) @ E ) @ F ) @ A ) @ B ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ G ) @ C ) @ D ) @ A ) @ B ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[324]) ).

thf(250,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ F ) @ E ) )
       => ( ( hAPP @ B @ A @ ( hAPP @ ( fun @ B @ bool ) @ ( fun @ B @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ A ) ) ) @ ( override_on @ B @ A ) @ C ) @ D ) @ E ) @ F )
          = ( hAPP @ B @ A @ D @ F ) ) )
      & ( ~ ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ F ) @ E ) )
       => ( ( hAPP @ B @ A @ ( hAPP @ ( fun @ B @ bool ) @ ( fun @ B @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ A ) ) ) @ ( override_on @ B @ A ) @ C ) @ D ) @ E ) @ F )
          = ( hAPP @ B @ A @ C @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_984_override__on__def) ).

thf(2036,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ F ) @ E ) )
       => ( ( hAPP @ B @ A @ ( hAPP @ ( fun @ B @ bool ) @ ( fun @ B @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ A ) ) ) @ ( override_on @ B @ A ) @ C ) @ D ) @ E ) @ F )
          = ( hAPP @ B @ A @ D @ F ) ) )
      & ( ~ ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ F ) @ E ) )
       => ( ( hAPP @ B @ A @ ( hAPP @ ( fun @ B @ bool ) @ ( fun @ B @ A ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ A ) @ ( fun @ ( fun @ B @ bool ) @ ( fun @ B @ A ) ) ) @ ( override_on @ B @ A ) @ C ) @ D ) @ E ) @ F )
          = ( hAPP @ B @ A @ C @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[250]) ).

thf(697,axiom,
    ( ( ti @ ty @ t )
    = t ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_T_H_____res) ).

thf(3645,plain,
    ( ( ti @ ty @ t )
    = t ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[697]) ).

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] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ I ) @ J ) @ K ) @ L ) @ ( hAPP @ ( list @ char ) @ ty @ class @ M ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) @ M ) @ C ) @ D ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ F ) @ G ) ) @ H ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts @ I ) @ J ) @ K ) @ A ) @ B ) )
         => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) ) @ B ) @ D ) )
           => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ I ) @ J ) @ K ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ L ) @ C ) @ A ) ) @ E ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_969_WTrt_H__WTrts_H_Ointros_I12_J) ).

thf(2739,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] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ I ) @ J ) @ K ) @ L ) @ ( hAPP @ ( list @ char ) @ ty @ class @ M ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) @ M ) @ C ) @ D ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ F ) @ G ) ) @ H ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts @ I ) @ J ) @ K ) @ A ) @ B ) )
         => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) ) @ B ) @ D ) )
           => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ I ) @ J ) @ K ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ L ) @ C ) @ A ) ) @ E ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[442]) ).

thf(966,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ C @ E ) @ B ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) @ D ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_595_rtranclp_Ortrancl__into__rtrancl) ).

thf(4570,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ C @ E ) @ B ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) @ D ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[966]) ).

thf(807,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_662_exp_Osimps_I215_J) ).

thf(4025,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[807]) ).

thf(244,axiom,
    ! [A: $i] :
      ( ( lattice @ A )
     => ! [B: $i,C: $i] :
          ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ C )
          = ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_307_inf__sup__aci_I5_J) ).

thf(2019,plain,
    ! [A: $i] :
      ( ( lattice @ A )
     => ! [B: $i,C: $i] :
          ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ C )
          = ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[244]) ).

thf(982,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ D ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_630_exp_Osimps_I179_J) ).

thf(4619,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ D ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[982]) ).

thf(631,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fTrue ) ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ C ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_697_red__reds_ORedCondT) ).

thf(3420,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ bool @ val @ bool_1 @ fTrue ) ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ C ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[631]) ).

thf(130,axiom,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_170_rtrancl_Ortrancl__refl) ).

thf(1614,plain,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[130]) ).

thf(363,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ D ) @ E ) @ F ) @ G ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ D ) @ A ) @ B ) ) @ E ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ F ) @ A ) @ B ) ) @ G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_356_redp__redsp_OFAccRed) ).

thf(2421,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ D ) @ E ) @ F ) @ G ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ C ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ D ) @ A ) @ B ) ) @ E ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ F ) @ A ) @ B ) ) @ G ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[363]) ).

thf(272,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_501_exp_Osimps_I53_J) ).

thf(2123,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[272]) ).

thf(350,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( option @ val ) @ binop @ ( hAPP @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( hAPP @ bop @ ( fun @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) ) @ ( product_Pair @ bop @ ( product_prod @ val @ val ) ) @ add ) @ ( hAPP @ val @ ( product_prod @ val @ val ) @ ( hAPP @ val @ ( fun @ val @ ( product_prod @ val @ val ) ) @ ( product_Pair @ val @ val ) @ A ) @ ( hAPP @ nat @ val @ addr @ B ) ) ) )
      = ( none @ val ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_540_binop_Osimps_I10_J) ).

thf(2374,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( option @ val ) @ binop @ ( hAPP @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( hAPP @ bop @ ( fun @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) ) @ ( product_Pair @ bop @ ( product_prod @ val @ val ) ) @ add ) @ ( hAPP @ val @ ( product_prod @ val @ val ) @ ( hAPP @ val @ ( fun @ val @ ( product_prod @ val @ val ) ) @ ( product_Pair @ val @ val ) @ A ) @ ( hAPP @ nat @ val @ addr @ B ) ) ) )
      = ( none @ val ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[350]) ).

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] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ G ) @ H ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ I ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ J ) @ K ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ J @ I )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ E ) ) )
       => ( ( ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) @ E @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ A ) @ B ) )
            = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ C ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ G ) @ A ) @ B ) ) @ H ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ C ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ J ) @ K ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_339_FAcc) ).

thf(2287,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ G ) @ H ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ I ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ J ) @ K ) ) )
     => ( ( ( hAPP @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ J @ I )
          = ( hAPP @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) @ D ) @ E ) ) )
       => ( ( ( hAPP @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) @ E @ ( hAPP @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) ) @ ( product_Pair @ ( list @ char ) @ ( list @ char ) ) @ A ) @ B ) )
            = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ C ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ F ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ G ) @ A ) @ B ) ) @ H ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ C ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ J ) @ K ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[322]) ).

thf(1032,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ F ) @ G ) @ H ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_444_exp_Osimps_I101_J) ).

thf(4816,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ F ) @ G ) @ H ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1032]) ).

thf(175,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ D ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_122_exp_Osimps_I145_J) ).

thf(1774,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ D ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[175]) ).

thf(327,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ E ) @ F ) @ G ) @ H ) @ nt ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ E ) @ F ) @ G ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ E ) @ F ) @ G ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ H ) @ A ) @ B ) @ C ) ) @ void ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_715_WTrtFAssNT) ).

thf(2302,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ E ) @ F ) @ G ) @ H ) @ nt ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ E ) @ F ) @ G ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ E ) @ F ) @ G ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ H ) @ A ) @ B ) @ C ) ) @ void ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[327]) ).

thf(716,axiom,
    ! [A: $i,B: $i] :
      ( ( lattice @ B )
     => ! [C: $i,D: $i,E: $i] :
          ( ( hAPP @ A @ B @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ B ) ) @ ( semilattice_sup_sup @ ( fun @ A @ B ) ) @ C ) @ D ) @ E )
          = ( hAPP @ B @ B @ ( hAPP @ B @ ( fun @ B @ B ) @ ( semilattice_sup_sup @ B ) @ ( hAPP @ A @ B @ C @ E ) ) @ ( hAPP @ A @ B @ D @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_279_sup__fun__def) ).

thf(3705,plain,
    ! [A: $i,B: $i] :
      ( ( lattice @ B )
     => ! [C: $i,D: $i,E: $i] :
          ( ( hAPP @ A @ B @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ B ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ ( fun @ A @ B ) @ ( fun @ A @ B ) ) @ ( semilattice_sup_sup @ ( fun @ A @ B ) ) @ C ) @ D ) @ E )
          = ( hAPP @ B @ B @ ( hAPP @ B @ ( fun @ B @ B ) @ ( semilattice_sup_sup @ B ) @ ( hAPP @ A @ B @ C @ E ) ) @ ( hAPP @ A @ B @ D @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[716]) ).

thf(658,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ D ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_123_exp_Osimps_I144_J) ).

thf(3521,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ D ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[658]) ).

thf(99,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ A @ B @ ( hAPP @ C @ ( fun @ A @ B ) @ ( hAPP @ ( fun @ ( product_prod @ C @ A ) @ B ) @ ( fun @ C @ ( fun @ A @ B ) ) @ ( product_curry @ C @ A @ B ) @ D ) @ E ) @ F )
      = ( hAPP @ ( product_prod @ C @ A ) @ B @ D @ ( hAPP @ A @ ( product_prod @ C @ A ) @ ( hAPP @ C @ ( fun @ A @ ( product_prod @ C @ A ) ) @ ( product_Pair @ C @ A ) @ E ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_42_curry__def) ).

thf(1527,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ A @ B @ ( hAPP @ C @ ( fun @ A @ B ) @ ( hAPP @ ( fun @ ( product_prod @ C @ A ) @ B ) @ ( fun @ C @ ( fun @ A @ B ) ) @ ( product_curry @ C @ A @ B ) @ D ) @ E ) @ F )
      = ( hAPP @ ( product_prod @ C @ A ) @ B @ D @ ( hAPP @ A @ ( product_prod @ C @ A ) @ ( hAPP @ C @ ( fun @ A @ ( product_prod @ C @ A ) ) @ ( product_Pair @ C @ A ) @ E ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[99]) ).

thf(995,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ D ) @ E ) @ F ) @ G ) @ ( hAPP @ ( list @ char ) @ ty @ class @ H ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ D ) @ H ) @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ D ) @ E ) @ F ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ G ) @ A ) @ C ) ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_508_WTrtFAcc) ).

thf(4663,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ D ) @ E ) @ F ) @ G ) @ ( hAPP @ ( list @ char ) @ ty @ class @ H ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( has_field @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ D ) @ H ) @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ D ) @ E ) @ F ) @ ( hAPP @ ( list @ char ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ ( list @ char ) ) ) ) @ ( fAcc @ ( list @ char ) ) @ G ) @ A ) @ C ) ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[995]) ).

thf(904,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ E ) @ F ) @ G ) @ H ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_443_exp_Osimps_I100_J) ).

thf(4367,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ E ) @ F ) @ G ) @ H ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[904]) ).

thf(1102,axiom,
    semilattice_sup @ nat,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_Nat_Onat___Lattices_Osemilattice__sup) ).

thf(5041,plain,
    semilattice_sup @ nat,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1102]) ).

thf(795,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ D ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ D ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_187_subset__trans) ).

thf(3992,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ D ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ D ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[795]) ).

thf(239,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( is_class @ A ) )
      = ( is_class @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Decl_Ois__class_res) ).

thf(2003,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( is_class @ A ) )
      = ( is_class @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[239]) ).

thf(616,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ D ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ G ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ D ) @ A ) @ B ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_685_eval__evals_OCondThrow) ).

thf(3379,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ D ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ G ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ D ) @ A ) @ B ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ G ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[616]) ).

thf(116,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ F ) @ G ) @ H ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_810_exp_Osimps_I195_J) ).

thf(1578,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ B ) @ C ) @ D ) @ E )
     != ( hAPP @ ( list @ ( exp @ A ) ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ A ) ) @ ( exp @ A ) ) ) @ ( call @ A ) @ F ) @ G ) @ H ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[116]) ).

thf(1003,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
        = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ F ) @ G ) @ H ) @ I ) )
    <=> ( ( B = F )
        & ( C = G )
        & ( D = H )
        & ( E = I ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_285_exp_Osimps_I8_J) ).

thf(4687,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
          = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ F ) @ G ) @ H ) @ I ) )
       => ( ( B = F )
          & ( C = G )
          & ( D = H )
          & ( E = I ) ) )
      & ( ( ( B = F )
          & ( C = G )
          & ( D = H )
          & ( E = I ) )
       => ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ B ) @ C ) @ D ) @ E )
          = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ F ) @ G ) @ H ) @ I ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1003]) ).

thf(150,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ H ) ) @ I ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ I ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ F ) @ A ) @ B ) @ C ) ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_406_FAssRedsThrow2) ).

thf(1678,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ H ) ) @ I ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ I ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ F ) @ A ) @ B ) @ C ) ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ J ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[150]) ).

thf(654,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ F ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ F ) @ A ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ D ) ) ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_129_LAssRedsVal) ).

thf(3511,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ F ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ unit ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ E ) @ ( hAPP @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( option @ val ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun_upd @ ( list @ char ) @ ( option @ val ) ) @ F ) @ A ) @ ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ D ) ) ) ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[654]) ).

thf(281,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ E ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_194_rtrancl_Ortrancl__into__rtrancl) ).

thf(2155,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ E ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[281]) ).

thf(392,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ C ) ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ C ) ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_386_redp__redsp_OLAssThrow) ).

thf(2534,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ C ) ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ C ) ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[392]) ).

thf(594,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) @ wf_J_mdecl @ A ) @ B ) @ C ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) @ wwf_J_mdecl @ A ) @ B ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_222_wf__mdecl__wwf__mdecl) ).

thf(3291,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) @ wf_J_mdecl @ A ) @ B ) @ C ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) @ wwf_J_mdecl @ A ) @ B ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[594]) ).

thf(900,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_755_exp_Osimps_I33_J) ).

thf(4356,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[900]) ).

thf(797,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_682_exp_Osimps_I146_J) ).

thf(3997,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[797]) ).

thf(520,axiom,
    ! [A: $i,B: $i] :
      ( ~ ( hBOOL @ ( hAPP @ bool @ bool @ ( hAPP @ bool @ ( fun @ bool @ bool ) @ fdisj @ A ) @ B ) )
      | ( hBOOL @ A )
      | ( hBOOL @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fdisj_3_1_U) ).

thf(2983,plain,
    ! [A: $i,B: $i] :
      ( ~ ( hBOOL @ ( hAPP @ bool @ bool @ ( hAPP @ bool @ ( fun @ bool @ bool ) @ fdisj @ A ) @ B ) )
      | ( hBOOL @ A )
      | ( hBOOL @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[520]) ).

thf(435,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ F ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_854_red__reds_OListRed2) ).

thf(2719,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ D ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ F ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[435]) ).

thf(19,axiom,
    ( ( ti @ val @ null )
    = null ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Value_Oval_ONull_res) ).

thf(1229,plain,
    ( ( ti @ val @ null )
    = null ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[19]) ).

thf(682,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_644_exp_Osimps_I220_J) ).

thf(3601,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[682]) ).

thf(134,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( ti @ B @ E )
       != ( ti @ B @ F ) )
     => ( ( hAPP @ B @ A @ ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ F ) @ D ) @ E )
        = ( hAPP @ B @ A @ C @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_20_fun__upd__other) ).

thf(1625,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( ti @ B @ E )
       != ( ti @ B @ F ) )
     => ( ( hAPP @ B @ A @ ( hAPP @ A @ ( fun @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( fun @ B @ A ) ) @ ( hAPP @ ( fun @ B @ A ) @ ( fun @ B @ ( fun @ A @ ( fun @ B @ A ) ) ) @ ( fun_upd @ B @ A ) @ C ) @ F ) @ D ) @ E )
        = ( hAPP @ B @ A @ C @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[134]) ).

thf(794,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ A ) @ B ) @ C ) @ D ) @ E ) )
    <=> ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_549_wt_H__iff__wt) ).

thf(3987,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ A ) @ B ) @ C ) @ D ) @ E ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ E ) ) )
      & ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ E ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ A ) @ B ) @ C ) @ D ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[794]) ).

thf(613,axiom,
    preorder @ bool,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_HOL_Obool___Orderings_Opreorder) ).

thf(3373,plain,
    preorder @ bool,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[613]) ).

thf(751,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( dom @ ( list @ char ) @ val ) @ D ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( dom @ ( list @ char ) @ val ) @ G ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_238_eval__lcl__incr) ).

thf(3837,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ G ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( dom @ ( list @ char ) @ val ) @ D ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( dom @ ( list @ char ) @ val ) @ G ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[751]) ).

thf(407,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( option @ A ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( option @ A ) @ bool ) @ ( hAPP @ bool @ ( fun @ ( fun @ A @ bool ) @ ( fun @ ( option @ A ) @ bool ) ) @ ( option_case @ bool @ A ) @ B ) @ C ) @ D ) )
     => ( ( ( ( ti @ ( option @ A ) @ D )
            = ( none @ A ) )
         => ~ ( hBOOL @ B ) )
       => ~ ! [E: $i] :
              ( ( ( ti @ ( option @ A ) @ D )
                = ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ E ) )
             => ~ ( hBOOL @ ( hAPP @ A @ bool @ C @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_585_option__caseE) ).

thf(2604,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( option @ A ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( option @ A ) @ bool ) @ ( hAPP @ bool @ ( fun @ ( fun @ A @ bool ) @ ( fun @ ( option @ A ) @ bool ) ) @ ( option_case @ bool @ A ) @ B ) @ C ) @ D ) )
     => ( ( ( ( ti @ ( option @ A ) @ D )
            = ( none @ A ) )
         => ~ ( hBOOL @ B ) )
       => ~ ! [E: $i] :
              ( ( ( ti @ ( option @ A ) @ D )
                = ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ E ) )
             => ~ ( hBOOL @ ( hAPP @ A @ bool @ C @ E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[407]) ).

thf(508,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ C ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ C ) @ B ) @ C ) @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_275_eval__finalId) ).

thf(2951,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ C ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ A ) @ C ) @ B ) @ C ) @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[508]) ).

thf(1114,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ C ) )
      = ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ B ) ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_887_set__append) ).

thf(5078,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ C ) )
      = ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ B ) ) @ ( hAPP @ ( list @ A ) @ ( fun @ A @ bool ) @ ( set @ A ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1114]) ).

thf(465,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) ) @ ( product_prod_case @ A @ B @ C ) )
      = ( product_prod_case @ A @ B @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Product__Type_Oprod_Oprod__case_res) ).

thf(2815,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) ) @ ( product_prod_case @ A @ B @ C ) )
      = ( product_prod_case @ A @ B @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[465]) ).

thf(441,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ~ ( hBOOL @ ( hAPP @ A @ bool @ C @ D ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ B @ D ) ) )
     => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ C ) @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_246_sup1CI) ).

thf(2736,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ~ ( hBOOL @ ( hAPP @ A @ bool @ C @ D ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ B @ D ) ) )
     => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ B ) @ C ) @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[441]) ).

thf(234,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ti @ ( fun @ A @ bool ) @ B )
        = ( ti @ ( fun @ A @ bool ) @ C ) )
     => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_183_equalityD2) ).

thf(1986,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ti @ ( fun @ A @ bool ) @ B )
        = ( ti @ ( fun @ A @ bool ) @ C ) )
     => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[234]) ).

thf(550,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ D ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ D ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_185_set__rev__mp) ).

thf(3132,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ D ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ D ) @ B ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ C ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[550]) ).

thf(253,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
        = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ D ) @ E ) )
    <=> ( ( ( ti @ A @ B )
          = ( ti @ A @ D ) )
        & ( C = E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_113_exp_Osimps_I6_J) ).

thf(2050,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
          = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ D ) @ E ) )
       => ( ( ( ti @ A @ B )
            = ( ti @ A @ D ) )
          & ( C = E ) ) )
      & ( ( ( ( ti @ A @ B )
            = ( ti @ A @ D ) )
          & ( C = E ) )
       => ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
          = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ D ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[253]) ).

thf(970,axiom,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) ) @ wTrt_1 )
    = wTrt_1 ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_WellTypeRT_OWTrt_res) ).

thf(4579,plain,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) ) @ wTrt_1 )
    = wTrt_1 ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[970]) ).

thf(1051,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ ( product_prod @ B @ C ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ C @ ( fun @ A @ bool ) ) ) @ ( fun @ ( product_prod @ B @ C ) @ ( fun @ A @ bool ) ) @ ( product_prod_case @ B @ C @ ( fun @ A @ bool ) ) @ D ) @ ( hAPP @ C @ ( product_prod @ B @ C ) @ ( hAPP @ B @ ( fun @ C @ ( product_prod @ B @ C ) ) @ ( product_Pair @ B @ C ) @ E ) @ F ) ) @ G ) )
     => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ C @ ( fun @ A @ bool ) @ ( hAPP @ B @ ( fun @ C @ ( fun @ A @ bool ) ) @ D @ E ) @ F ) @ G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_98_splitD_H) ).

thf(4885,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ ( product_prod @ B @ C ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ C @ ( fun @ A @ bool ) ) ) @ ( fun @ ( product_prod @ B @ C ) @ ( fun @ A @ bool ) ) @ ( product_prod_case @ B @ C @ ( fun @ A @ bool ) ) @ D ) @ ( hAPP @ C @ ( product_prod @ B @ C ) @ ( hAPP @ B @ ( fun @ C @ ( product_prod @ B @ C ) ) @ ( product_Pair @ B @ C ) @ E ) @ F ) ) @ G ) )
     => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ C @ ( fun @ A @ bool ) @ ( hAPP @ B @ ( fun @ C @ ( fun @ A @ bool ) ) @ D @ E ) @ F ) @ G ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1051]) ).

thf(710,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ A ) @ B ) @ C ) @ D ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_547_wt__wt_H) ).

thf(3690,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt @ A ) @ B ) @ C ) @ D ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[710]) ).

thf(89,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( collect @ A ) @ B )
      = ( ti @ ( fun @ A @ bool ) @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_77_Collect__def) ).

thf(1480,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( collect @ A ) @ B )
      = ( ti @ ( fun @ A @ bool ) @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[89]) ).

thf(1092,axiom,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) ) @ B ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ B ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_388_red__reds_OThrowThrow) ).

thf(5014,plain,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) ) @ B ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ B ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1092]) ).

thf(450,axiom,
    ! [A: $i] :
      ( ( linorder @ A )
     => ! [B: $i,C: $i] :
          ( ~ ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ C ) )
         => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_205_linorder__le__cases) ).

thf(2768,plain,
    ! [A: $i] :
      ( ( linorder @ A )
     => ! [B: $i,C: $i] :
          ( ~ ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ C ) )
         => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[450]) ).

thf(747,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ~ ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ F ) @ ( hAPP @ ( list @ B ) @ ( fun @ B @ bool ) @ ( set @ B ) @ G ) ) )
     => ( ( hAPP @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( map_upds @ B @ A ) @ ( hAPP @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( fun_upd @ B @ ( option @ A ) ) @ C ) @ F ) @ ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ D ) ) ) @ G ) @ E )
        = ( hAPP @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( fun_upd @ B @ ( option @ A ) ) @ ( hAPP @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( map_upds @ B @ A ) @ C ) @ G ) @ E ) ) @ F ) @ ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_950_map__upds__twist) ).

thf(3822,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ~ ( hBOOL @ ( hAPP @ ( fun @ B @ bool ) @ bool @ ( hAPP @ B @ ( fun @ ( fun @ B @ bool ) @ bool ) @ ( member @ B ) @ F ) @ ( hAPP @ ( list @ B ) @ ( fun @ B @ bool ) @ ( set @ B ) @ G ) ) )
     => ( ( hAPP @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( map_upds @ B @ A ) @ ( hAPP @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( fun_upd @ B @ ( option @ A ) ) @ C ) @ F ) @ ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ D ) ) ) @ G ) @ E )
        = ( hAPP @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( fun_upd @ B @ ( option @ A ) ) @ ( hAPP @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( map_upds @ B @ A ) @ C ) @ G ) @ E ) ) @ F ) @ ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[747]) ).

thf(459,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ C @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ B @ A ) @ bool @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( product_prod_case @ B @ A @ bool ) @ C ) @ ( hAPP @ A @ ( product_prod @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( product_Pair @ B @ A ) @ D ) @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_50_prod__caseI) ).

thf(2800,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ C @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ B @ A ) @ bool @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( product_prod_case @ B @ A @ bool ) @ C ) @ ( hAPP @ A @ ( product_prod @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( product_Pair @ B @ A ) @ D ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[459]) ).

thf(58,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ B ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ) )
       => ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ C ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ E ) @ A ) @ B ) @ C ) @ D ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_235_small__by__big) ).

thf(1363,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ B ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ) )
       => ( ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ C ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ E ) @ A ) @ B ) @ C ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[58]) ).

thf(445,axiom,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) ) @ B ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ B ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_569_red__reds_ORedCastNull) ).

thf(2746,plain,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) ) @ B ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ B ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[445]) ).

thf(841,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ D ) @ E ) @ F ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ G ) ) @ H ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ D ) @ A ) @ H ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ D ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ E ) @ A ) ) @ F ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ G ) ) @ B ) ) @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_852_eval__evals_OCons) ).

thf(4157,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ D ) @ E ) @ F ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ G ) ) @ H ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ D ) @ A ) @ H ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ D ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ E ) @ A ) ) @ F ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ G ) ) @ B ) ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[841]) ).

thf(431,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ ( transitive_rtrancl @ A ) )
      = ( transitive_rtrancl @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Transitive__Closure_Ortrancl_res) ).

thf(2704,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) ) @ ( transitive_rtrancl @ A ) )
      = ( transitive_rtrancl @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[431]) ).

thf(347,axiom,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i,D: $i] :
          ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ D ) )
         => ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ D ) )
           => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ B ) ) @ D ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_335_sup__least) ).

thf(2366,plain,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i,D: $i] :
          ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ D ) )
         => ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ D ) )
           => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ B ) ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[347]) ).

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] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ G ) @ H ) @ I ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ J ) ) @ K ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ G ) @ B ) @ K ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( append @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ C ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ F ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ G ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ H ) @ A ) @ B ) ) @ I ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_859_CallParamsThrow) ).

thf(2961,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ G ) @ H ) @ I ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ J ) ) @ K ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ evals @ G ) @ B ) @ K ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( append @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ C ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ F ) )
       => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ G ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ H ) @ A ) @ B ) ) @ I ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[512]) ).

thf(497,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ G ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( map_add @ ( list @ char ) @ val ) @ A ) @ D ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( map_add @ ( list @ char ) @ val ) @ A ) @ G ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_46_red__lcl__add) ).

thf(2913,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ G ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ C ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( map_add @ ( list @ char ) @ val ) @ A ) @ D ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ F ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( map_add @ ( list @ char ) @ val ) @ A ) @ G ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ H ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[497]) ).

thf(1061,axiom,
    ( ( ti @ ( exp @ ( list @ char ) ) @ ea )
    = ea ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_ea_____res) ).

thf(4912,plain,
    ( ( ti @ ( exp @ ( list @ char ) ) @ ea )
    = ea ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1061]) ).

thf(1143,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C ) ) @ D ) )
    <=> ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ C ) @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_107__092_060D_062___092_060D_062s_Osimps_I6_J) ).

thf(5176,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C ) ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ C ) @ D ) ) )
      & ( ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( option @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( exp @ A ) @ ( fun @ ( option @ ( fun @ A @ bool ) ) @ bool ) @ ( d @ A ) @ ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C ) ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1143]) ).

thf(416,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
        = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ E ) @ F ) @ G ) )
    <=> ( ( B = E )
        & ( ( ti @ bop @ C )
          = ( ti @ bop @ F ) )
        & ( D = G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_423_exp_Osimps_I4_J) ).

thf(2651,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
          = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ E ) @ F ) @ G ) )
       => ( ( B = E )
          & ( ( ti @ bop @ C )
            = ( ti @ bop @ F ) )
          & ( D = G ) ) )
      & ( ( ( B = E )
          & ( ( ti @ bop @ C )
            = ( ti @ bop @ F ) )
          & ( D = G ) )
       => ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
          = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ E ) @ F ) @ G ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[416]) ).

thf(454,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ D ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_186_set__mp) ).

thf(2783,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ D ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[454]) ).

thf(395,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_633_exp_Osimps_I201_J) ).

thf(2549,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[395]) ).

thf(808,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ C ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ C ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_383_eval__evals_OLAssThrow) ).

thf(4029,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ C ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( lAss @ ( list @ char ) ) @ A ) @ C ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[808]) ).

thf(847,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ C ) @ D )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ E ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ C ) @ B ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_532_WTrtVal) ).

thf(4178,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ val @ ( option @ ty ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( option @ ty ) ) @ typeof_h @ C ) @ D )
        = ( hAPP @ ty @ ( option @ ty ) @ ( some @ ty ) @ E ) )
     => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ C ) @ B ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[847]) ).

thf(296,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ D ) @ E ) ) @ F ) )
     => ~ ( ( F
            = ( hAPP @ ( list @ char ) @ ty @ class @ D ) )
         => ! [G: $i] :
              ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ E ) @ G ) )
             => ( ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ G ) )
               => ~ ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) @ D ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_608_WTrt__elim__cases_I6_J) ).

thf(2201,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ D ) @ E ) ) @ F ) )
     => ~ ( ( F
            = ( hAPP @ ( list @ char ) @ ty @ class @ D ) )
         => ! [G: $i] :
              ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ A ) @ B ) @ C ) @ E ) @ G ) )
             => ( ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ G ) )
               => ~ ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ A ) @ D ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[296]) ).

thf(235,axiom,
    ! [A: $i] :
      ( unit
     != ( hAPP @ bool @ val @ bool_1 @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_614_val_Osimps_I6_J) ).

thf(1989,plain,
    ! [A: $i] :
      ( unit
     != ( hAPP @ bool @ val @ bool_1 @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[235]) ).

thf(1014,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ A ) @ B ) @ C ) )
      = ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ A ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ B ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_687_fv__fvs_Osimps_I12_J) ).

thf(4755,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( cond @ ( list @ char ) ) @ A ) @ B ) @ C ) )
      = ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ A ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ B ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1014]) ).

thf(1081,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ A @ B @ C @ D )
        = ( ti @ B @ E ) )
     => ( ( hAPP @ B @ ( fun @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( fun @ A @ B ) ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ ( fun @ B @ ( fun @ A @ B ) ) ) @ ( fun_upd @ A @ B ) @ C ) @ D ) @ E )
        = ( ti @ ( fun @ A @ B ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_19_fun__upd__idem) ).

thf(4981,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ A @ B @ C @ D )
        = ( ti @ B @ E ) )
     => ( ( hAPP @ B @ ( fun @ A @ B ) @ ( hAPP @ A @ ( fun @ B @ ( fun @ A @ B ) ) @ ( hAPP @ ( fun @ A @ B ) @ ( fun @ A @ ( fun @ B @ ( fun @ A @ B ) ) ) @ ( fun_upd @ A @ B ) @ C ) @ D ) @ E )
        = ( ti @ ( fun @ A @ B ) @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1081]) ).

thf(873,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ C ) @ D ) @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ C ) @ F ) @ B ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ C ) @ D ) @ E ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_64_conf__widen) ).

thf(4281,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ C ) @ D ) @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ty @ ( fun @ ty @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ A ) @ C ) @ F ) @ B ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ val @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) @ ( conf @ A ) @ C ) @ D ) @ E ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[873]) ).

thf(876,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ G ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ C ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ E ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_842_CallRedsParams) ).

thf(4286,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( list @ ( exp @ ( list @ char ) ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ reds @ G ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ C ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ E ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[876]) ).

thf(589,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ty ) @ bool ) @ ( wf_fdecl @ A ) @ B )
      = ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ty @ bool ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ty ) @ bool ) @ ( product_prod_case @ ( list @ char ) @ ty @ bool ) @ ( hAPP @ ( fun @ ty @ bool ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ bool ) ) @ ( combk @ ( fun @ ty @ bool ) @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ bool ) @ ( is_type @ A ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_724_wf__fdecl__def) ).

thf(3277,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ty ) @ bool ) @ ( wf_fdecl @ A ) @ B )
      = ( hAPP @ ( fun @ ( list @ char ) @ ( fun @ ty @ bool ) ) @ ( fun @ ( product_prod @ ( list @ char ) @ ty ) @ bool ) @ ( product_prod_case @ ( list @ char ) @ ty @ bool ) @ ( hAPP @ ( fun @ ty @ bool ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ bool ) ) @ ( combk @ ( fun @ ty @ bool ) @ ( list @ char ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ bool ) @ ( is_type @ A ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[589]) ).

thf(566,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( map_upds @ B @ A ) @ C ) @ ( hAPP @ ( list @ B ) @ ( list @ B ) @ ( hAPP @ B @ ( fun @ ( list @ B ) @ ( list @ B ) ) @ ( cons @ B ) @ D ) @ E ) ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ F ) @ G ) )
      = ( hAPP @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( map_upds @ B @ A ) @ ( hAPP @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( fun_upd @ B @ ( option @ A ) ) @ C ) @ D ) @ ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ F ) ) ) @ E ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_949_map__upds__Cons) ).

thf(3177,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( map_upds @ B @ A ) @ C ) @ ( hAPP @ ( list @ B ) @ ( list @ B ) @ ( hAPP @ B @ ( fun @ ( list @ B ) @ ( list @ B ) ) @ ( cons @ B ) @ D ) @ E ) ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ F ) @ G ) )
      = ( hAPP @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( map_upds @ B @ A ) @ ( hAPP @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) @ ( hAPP @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) @ ( hAPP @ ( fun @ B @ ( option @ A ) ) @ ( fun @ B @ ( fun @ ( option @ A ) @ ( fun @ B @ ( option @ A ) ) ) ) @ ( fun_upd @ B @ ( option @ A ) ) @ C ) @ D ) @ ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ F ) ) ) @ E ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[566]) ).

thf(740,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ D ) @ E ) @ ( hAPP @ ( list @ C ) @ ( list @ A ) @ ( hAPP @ ( fun @ C @ A ) @ ( fun @ ( list @ C ) @ ( list @ A ) ) @ ( map @ C @ A ) @ F ) @ G ) ) )
    <=> ( hBOOL @ ( hAPP @ ( list @ C ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ C ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ C @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ C ) @ bool ) ) @ ( list_all2 @ B @ C ) @ ( hAPP @ ( fun @ C @ A ) @ ( fun @ B @ ( fun @ C @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) ) @ ( fun @ ( fun @ C @ A ) @ ( fun @ B @ ( fun @ C @ bool ) ) ) @ ( combc @ B @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ bool ) @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) ) ) @ ( combb @ ( fun @ A @ bool ) @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) @ B ) @ ( combb @ A @ bool @ C ) ) @ D ) ) @ F ) ) @ E ) @ G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_964_list__all2__map2) ).

thf(3804,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ D ) @ E ) @ ( hAPP @ ( list @ C ) @ ( list @ A ) @ ( hAPP @ ( fun @ C @ A ) @ ( fun @ ( list @ C ) @ ( list @ A ) ) @ ( map @ C @ A ) @ F ) @ G ) ) )
       => ( hBOOL @ ( hAPP @ ( list @ C ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ C ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ C @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ C ) @ bool ) ) @ ( list_all2 @ B @ C ) @ ( hAPP @ ( fun @ C @ A ) @ ( fun @ B @ ( fun @ C @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) ) @ ( fun @ ( fun @ C @ A ) @ ( fun @ B @ ( fun @ C @ bool ) ) ) @ ( combc @ B @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ bool ) @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) ) ) @ ( combb @ ( fun @ A @ bool ) @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) @ B ) @ ( combb @ A @ bool @ C ) ) @ D ) ) @ F ) ) @ E ) @ G ) ) )
      & ( ( hBOOL @ ( hAPP @ ( list @ C ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ C ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ C @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ C ) @ bool ) ) @ ( list_all2 @ B @ C ) @ ( hAPP @ ( fun @ C @ A ) @ ( fun @ B @ ( fun @ C @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) ) @ ( fun @ ( fun @ C @ A ) @ ( fun @ B @ ( fun @ C @ bool ) ) ) @ ( combc @ B @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ bool ) @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ B @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) ) ) @ ( combb @ ( fun @ A @ bool ) @ ( fun @ ( fun @ C @ A ) @ ( fun @ C @ bool ) ) @ B ) @ ( combb @ A @ bool @ C ) ) @ D ) ) @ F ) ) @ E ) @ G ) )
       => ( hBOOL @ ( hAPP @ ( list @ A ) @ bool @ ( hAPP @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( list @ B ) @ ( fun @ ( list @ A ) @ bool ) ) @ ( list_all2 @ B @ A ) @ D ) @ E ) @ ( hAPP @ ( list @ C ) @ ( list @ A ) @ ( hAPP @ ( fun @ C @ A ) @ ( fun @ ( list @ C ) @ ( list @ A ) ) @ ( map @ C @ A ) @ F ) @ G ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[740]) ).

thf(1162,axiom,
    ! [A: $i,B: $i] :
      ( ( ( ti @ ( option @ A ) @ B )
       != ( none @ A ) )
    <=> ? [C: $i] :
          ( ( ti @ ( option @ A ) @ B )
          = ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_141_not__None__eq) ).

thf(5251,plain,
    ! [A: $i,B: $i] :
      ( ( ( ( ti @ ( option @ A ) @ B )
         != ( none @ A ) )
       => ? [C: $i] :
            ( ( ti @ ( option @ A ) @ B )
            = ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ C ) ) )
      & ( ? [C: $i] :
            ( ( ti @ ( option @ A ) @ B )
            = ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ C ) )
       => ( ( ti @ ( option @ A ) @ B )
         != ( none @ A ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1162]) ).

thf(209,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ty @ A @ ( hAPP @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) @ ( hAPP @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) ) ) @ ( ty_case @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) @ nt )
      = ( ti @ A @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_767_ty_Osimps_I25_J) ).

thf(1891,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ty @ A @ ( hAPP @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) @ ( hAPP @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) ) @ ( hAPP @ A @ ( fun @ A @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( list @ char ) @ A ) @ ( fun @ ty @ A ) ) ) ) ) @ ( ty_case @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) @ nt )
      = ( ti @ A @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[209]) ).

thf(1100,axiom,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i,D: $i] :
          ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ C ) ) @ D )
          = ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_317_sup__assoc) ).

thf(5036,plain,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i,D: $i] :
          ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ C ) ) @ D )
          = ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1100]) ).

thf(302,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ D ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_293_exp_Osimps_I175_J) ).

thf(2223,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ D ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[302]) ).

thf(86,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ B ) @ C ) ) @ D )
      = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ C ) @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_846_append__Cons) ).

thf(1473,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ B ) @ C ) ) @ D )
      = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ A @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( cons @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ C ) @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[86]) ).

thf(693,axiom,
    ! [A: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ A ) )
     => ( ( A != nt )
       => ~ ! [B: $i] :
              ( A
             != ( hAPP @ ( list @ char ) @ ty @ class @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_722_refTE) ).

thf(3633,plain,
    ! [A: $i] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ A ) )
     => ( ( A != nt )
       => ~ ! [B: $i] :
              ( A
             != ( hAPP @ ( list @ char ) @ ty @ class @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[693]) ).

thf(706,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ E ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_938_rtrancl__into__trancl1) ).

thf(3673,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ D ) @ B ) ) @ E ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ B ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_trancl @ A ) @ E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[706]) ).

thf(1173,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ ( transitive_rtranclp @ A ) )
      = ( transitive_rtranclp @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Transitive__Closure_Ortranclp_res) ).

thf(5283,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ ( transitive_rtranclp @ A ) )
      = ( transitive_rtranclp @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1173]) ).

thf(1170,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ B ) @ A ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_655_WhileRedsThrow) ).

thf(5275,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( while @ ( list @ char ) ) @ B ) @ A ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1170]) ).

thf(273,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_666_exp_Osimps_I216_J) ).

thf(2127,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[273]) ).

thf(30,axiom,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ( ( ti @ ( fun @ A @ ( fun @ A @ A ) ) @ ( semilattice_sup_sup @ A ) )
        = ( semilattice_sup_sup @ A ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Lattices_Osemilattice__sup__class_Osup_res) ).

thf(1261,plain,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ( ( ti @ ( fun @ A @ ( fun @ A @ A ) ) @ ( semilattice_sup_sup @ A ) )
        = ( semilattice_sup_sup @ A ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[30]) ).

thf(663,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ B ) @ C ) @ D ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_399_red__reds_OFAssThrow1) ).

thf(3543,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ B ) @ C ) @ D ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[663]) ).

thf(476,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( cond @ A ) )
      = ( cond @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OCond_res) ).

thf(2847,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( cond @ A ) )
      = ( cond @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[476]) ).

thf(117,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ C ) @ D ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_469_red__reds_ORedTry) ).

thf(1582,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( tryCatch @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ B ) @ C ) @ D ) ) @ E ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ A ) ) @ E ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[117]) ).

thf(650,axiom,
    ( ( hAPP @ ( list @ char ) @ ( option @ val ) @ l_a @ v_1 )
    = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ v_2 ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_0_InitBlockRed_I3_J) ).

thf(3489,plain,
    ( ( hAPP @ ( list @ char ) @ ( option @ val ) @ l_a @ v_1 )
    = ( hAPP @ val @ ( option @ val ) @ ( some @ val ) @ v_2 ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[650]) ).

thf(788,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ A @ B @ ( ti @ ( fun @ A @ B ) @ C ) @ D )
      = ( hAPP @ A @ B @ C @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_hAPP_arg1) ).

thf(3965,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ A @ B @ ( ti @ ( fun @ A @ B ) @ C ) @ D )
      = ( hAPP @ A @ B @ C @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[788]) ).

thf(863,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) @ C ) ) @ D ) @ C ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_151_redp__redsp_ORedSeq) ).

thf(4239,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) @ C ) ) @ D ) @ C ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[863]) ).

thf(854,axiom,
    ! [A: $i] :
      ( ( order @ A )
     => ! [B: $i,C: $i] :
          ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ C ) )
         => ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ B ) )
           => ( ( ti @ A @ B )
              = ( ti @ A @ C ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_209_order__antisym) ).

thf(4206,plain,
    ! [A: $i] :
      ( ( order @ A )
     => ! [B: $i,C: $i] :
          ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ C ) )
         => ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ B ) )
           => ( ( ti @ A @ B )
              = ( ti @ A @ C ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[854]) ).

thf(158,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ B ) @ C )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_488_exp_Osimps_I44_J) ).

thf(1713,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ B ) @ C )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[158]) ).

thf(425,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ D ) )
     => ( ( hBOOL @ ( hAPP @ A @ bool @ C @ B ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ D @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_136_predicate1D) ).

thf(2687,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ D ) )
     => ( ( hBOOL @ ( hAPP @ A @ bool @ C @ B ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ D @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[425]) ).

thf(805,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ B ) @ C )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ D ) @ E ) ) )
     => ( ( C != object )
       => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( subcls1p @ A ) @ B ) @ C ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_726_subcls1p_Ointros) ).

thf(4019,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ B ) @ C )
        = ( hAPP @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( some @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( product_Pair @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) @ D ) @ E ) ) )
     => ( ( C != object )
       => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( subcls1p @ A ) @ B ) @ C ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[805]) ).

thf(212,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ B ) @ C ) )
    <=> ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ B ) @ C )
       != ( none @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_732_is__class__def) ).

thf(1902,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ B ) @ C ) )
       => ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ B ) @ C )
         != ( none @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) )
      & ( ( ( hAPP @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( class_1 @ A ) @ B ) @ C )
         != ( none @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) )
       => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( is_class @ A ) @ B ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[212]) ).

thf(207,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ E )
        = F )
     => ( ( B
          = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ E ) @ C ) )
       => ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ B )
          = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ F ) @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_794_append__eq__appendI) ).

thf(1885,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ E )
        = F )
     => ( ( B
          = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ E ) @ C ) )
       => ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ D ) @ B )
          = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ F ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[207]) ).

thf(463,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ H ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ H ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ F ) @ A ) @ B ) @ C ) ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) ) ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_560_FAssRedsNull) ).

thf(2810,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ F ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ H ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ H ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ D ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( fAss @ ( list @ char ) ) @ F ) @ A ) @ B ) @ C ) ) @ G ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ ( hAPP @ nat @ val @ addr @ ( hAPP @ ( list @ char ) @ nat @ addr_of_sys_xcpt @ nullPointer ) ) ) ) ) @ E ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ I ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[463]) ).

thf(56,axiom,
    ! [A: $i] :
      ( ( order @ A )
     => ! [B: $i,C: $i] :
          ( ( ( ti @ A @ B )
            = ( ti @ A @ C ) )
        <=> ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ C ) )
            & ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_216_order__eq__iff) ).

thf(1352,plain,
    ! [A: $i] :
      ( ( order @ A )
     => ! [B: $i,C: $i] :
          ( ( ( ( ti @ A @ B )
              = ( ti @ A @ C ) )
           => ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ C ) )
              & ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ B ) ) ) )
          & ( ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ B ) @ C ) )
              & ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( ord_less_eq @ A ) @ C ) @ B ) ) )
           => ( ( ti @ A @ B )
              = ( ti @ A @ C ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[56]) ).

thf(406,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ E ) @ F ) @ G ) @ H ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_680_exp_Osimps_I177_J) ).

thf(2600,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cond @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( fAss @ A ) @ E ) @ F ) @ G ) @ H ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[406]) ).

thf(683,axiom,
    ! [A: $i] :
      ( ( hAPP @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( option @ val ) @ binop @ ( hAPP @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( hAPP @ bop @ ( fun @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) ) @ ( product_Pair @ bop @ ( product_prod @ val @ val ) ) @ add ) @ ( hAPP @ val @ ( product_prod @ val @ val ) @ ( hAPP @ val @ ( fun @ val @ ( product_prod @ val @ val ) ) @ ( product_Pair @ val @ val ) @ A ) @ null ) ) )
      = ( none @ val ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_571_binop_Osimps_I8_J) ).

thf(3605,plain,
    ! [A: $i] :
      ( ( hAPP @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( option @ val ) @ binop @ ( hAPP @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( hAPP @ bop @ ( fun @ ( product_prod @ val @ val ) @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) ) @ ( product_Pair @ bop @ ( product_prod @ val @ val ) ) @ add ) @ ( hAPP @ val @ ( product_prod @ val @ val ) @ ( hAPP @ val @ ( fun @ val @ ( product_prod @ val @ val ) ) @ ( product_Pair @ val @ val ) @ A ) @ null ) ) )
      = ( none @ val ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[683]) ).

thf(232,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ A @ bool @ B @ C ) )
       => ( ! [F: $i,G: $i] :
              ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
             => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ F ) @ G ) ) @ E ) )
               => ( ( hBOOL @ ( hAPP @ A @ bool @ B @ F ) )
                 => ( hBOOL @ ( hAPP @ A @ bool @ B @ G ) ) ) ) )
         => ( hBOOL @ ( hAPP @ A @ bool @ B @ D ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_203_rtrancl__induct) ).

thf(1976,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
     => ( ( hBOOL @ ( hAPP @ A @ bool @ B @ C ) )
       => ( ! [F: $i,G: $i] :
              ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ F ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ E ) ) )
             => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ F ) @ G ) ) @ E ) )
               => ( ( hBOOL @ ( hAPP @ A @ bool @ B @ F ) )
                 => ( hBOOL @ ( hAPP @ A @ bool @ B @ G ) ) ) ) )
         => ( hBOOL @ ( hAPP @ A @ bool @ B @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[232]) ).

thf(106,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ B ) @ C ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ B ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_173_r__into__rtrancl) ).

thf(1550,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ B ) @ C ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ B ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[106]) ).

thf(1083,axiom,
    ( ( ti @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ e )
    = e ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_E_____res) ).

thf(4987,plain,
    ( ( ti @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ e )
    = e ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1083]) ).

thf(896,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ C ) @ A ) @ B ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_474_BinOpRedsThrow1) ).

thf(4345,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ C ) @ A ) @ B ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[896]) ).

thf(943,axiom,
    hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ typeSa1166768941_sconf @ p ) @ e ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ha ) @ la ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_14_InitBlockRed_I4_J) ).

thf(4501,plain,
    hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ typeSa1166768941_sconf @ p ) @ e ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_Pair @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ha ) @ la ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[943]) ).

thf(770,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ C @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) @ E ) @ B ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) @ D ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_596_converse__rtranclp__into__rtranclp) ).

thf(3901,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ C @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) @ E ) @ B ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C ) @ D ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[770]) ).

thf(871,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ D @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ bool ) ) @ bool ) @ ( ord_less_eq @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ D ) @ C ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ C @ E ) @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_230_rev__predicate2D) ).

thf(4274,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ D @ E ) @ F ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ B @ ( fun @ A @ bool ) ) @ bool ) @ ( ord_less_eq @ ( fun @ B @ ( fun @ A @ bool ) ) ) @ D ) @ C ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ C @ E ) @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[871]) ).

thf(776,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ B ) @ C ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ D ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_467_red__reds_OBinOpThrow1) ).

thf(3924,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ B ) @ C ) ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ A ) ) @ D ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[776]) ).

thf(1022,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ D ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ G ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ D ) @ A ) @ B ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ G ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_455_eval__evals_OBinOpThrow1) ).

thf(4784,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ D ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ G ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ C ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ D ) @ A ) @ B ) ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ F ) ) @ G ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1022]) ).

thf(471,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( sees_field @ A ) @ C ) @ D ) @ E ) @ F ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ bool ) @ ( is_type @ A ) @ C ) @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_784_sees__field__is__type) ).

thf(2832,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( sees_field @ A ) @ C ) @ D ) @ E ) @ F ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ty @ bool ) @ ( is_type @ A ) @ C ) @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[471]) ).

thf(959,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ A ) @ B ) @ C ) )
      = ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ A ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_460_fv__fvs_Osimps_I4_J) ).

thf(4547,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ bop @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( binOp @ ( list @ char ) ) @ A ) @ B ) @ C ) )
      = ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ A ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[959]) ).

thf(69,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ D ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ B ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ B ) ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_267_Un__least) ).

thf(1416,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ C ) @ D ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ B ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ B ) ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[69]) ).

thf(286,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ ( product_prod @ B @ C ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ C @ ( fun @ A @ bool ) ) ) @ ( fun @ ( product_prod @ B @ C ) @ ( fun @ A @ bool ) ) @ ( product_prod_case @ B @ C @ ( fun @ A @ bool ) ) @ E ) @ F ) ) )
     => ~ ! [G: $i,H: $i] :
            ( ( ( ti @ ( product_prod @ B @ C ) @ F )
              = ( hAPP @ C @ ( product_prod @ B @ C ) @ ( hAPP @ B @ ( fun @ C @ ( product_prod @ B @ C ) ) @ ( product_Pair @ B @ C ) @ G ) @ H ) )
           => ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ C @ ( fun @ A @ bool ) @ ( hAPP @ B @ ( fun @ C @ ( fun @ A @ bool ) ) @ E @ G ) @ H ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_105_mem__splitE) ).

thf(2170,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ ( product_prod @ B @ C ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ B @ ( fun @ C @ ( fun @ A @ bool ) ) ) @ ( fun @ ( product_prod @ B @ C ) @ ( fun @ A @ bool ) ) @ ( product_prod_case @ B @ C @ ( fun @ A @ bool ) ) @ E ) @ F ) ) )
     => ~ ! [G: $i,H: $i] :
            ( ( ( ti @ ( product_prod @ B @ C ) @ F )
              = ( hAPP @ C @ ( product_prod @ B @ C ) @ ( hAPP @ B @ ( fun @ C @ ( product_prod @ B @ C ) ) @ ( product_Pair @ B @ C ) @ G ) @ H ) )
           => ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ D ) @ ( hAPP @ C @ ( fun @ A @ bool ) @ ( hAPP @ B @ ( fun @ C @ ( fun @ A @ bool ) ) @ E @ G ) @ H ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[286]) ).

thf(214,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( product_curry @ B @ A @ bool ) @ C ) @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ B @ A ) @ bool @ C @ ( hAPP @ A @ ( product_prod @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( product_Pair @ B @ A ) @ D ) @ E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_81_curryE) ).

thf(1912,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ B @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ ( product_prod @ B @ A ) @ bool ) @ ( fun @ B @ ( fun @ A @ bool ) ) @ ( product_curry @ B @ A @ bool ) @ C ) @ D ) @ E ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ B @ A ) @ bool @ C @ ( hAPP @ A @ ( product_prod @ B @ A ) @ ( hAPP @ B @ ( fun @ A @ ( product_prod @ B @ A ) ) @ ( product_Pair @ B @ A ) @ D ) @ E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[214]) ).

thf(288,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_360_exp_Osimps_I77_J) ).

thf(2177,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( exp @ A ) ) ) @ ( fAcc @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[288]) ).

thf(202,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) )
     => ( ( ( ti @ A @ B )
         != ( ti @ A @ C ) )
       => ~ ! [E: $i] :
              ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ E ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) )
             => ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ E ) @ C ) ) @ D ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_224_rtranclE) ).

thf(1870,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ C ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) )
     => ( ( ( ti @ A @ B )
         != ( ti @ A @ C ) )
       => ~ ! [E: $i] :
              ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ B ) @ E ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ D ) ) )
             => ~ ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ E ) @ C ) ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[202]) ).

thf(1141,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ C ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ C ) @ A ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_382_eval__evals_OSeqThrow) ).

thf(5172,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ C ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ B ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( seq @ ( list @ char ) ) @ C ) @ A ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ E ) ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1141]) ).

thf(1036,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_632_exp_Osimps_I200_J) ).

thf(4826,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ A @ ( fun @ ty @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( block @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1036]) ).

thf(486,axiom,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i,D: $i] :
          ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ C ) ) @ D )
          = ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_315_sup_Oassoc) ).

thf(2879,plain,
    ! [A: $i] :
      ( ( semilattice_sup @ A )
     => ! [B: $i,C: $i,D: $i] :
          ( ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ C ) ) @ D )
          = ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ B ) @ ( hAPP @ A @ A @ ( hAPP @ A @ ( fun @ A @ A ) @ ( semilattice_sup_sup @ A ) @ C ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[486]) ).

thf(414,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ E ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_433_exp_Osimps_I112_J) ).

thf(2640,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ B ) @ C ) @ D )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( throw @ A ) @ E ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[414]) ).

thf(634,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( combk @ ( option @ B ) @ A ) @ ( none @ B ) ) ) @ C )
      = ( ti @ ( fun @ A @ ( option @ B ) ) @ C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_150_empty__map__add) ).

thf(3437,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( combk @ ( option @ B ) @ A ) @ ( none @ B ) ) ) @ C )
      = ( ti @ ( fun @ A @ ( option @ B ) ) @ C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[634]) ).

thf(784,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ E ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ F ) ) )
     => ( ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( fun_upd @ A @ ( option @ B ) ) @ C ) @ E ) @ ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ D ) ) ) @ F )
        = ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( fun_upd @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ F ) ) @ E ) @ ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_68_map__add__upd__left) ).

thf(3950,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ E ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ bool ) @ ( dom @ A @ B ) @ F ) ) )
     => ( ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( fun_upd @ A @ ( option @ B ) ) @ C ) @ E ) @ ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ D ) ) ) @ F )
        = ( hAPP @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( fun @ ( option @ B ) @ ( fun @ A @ ( option @ B ) ) ) ) @ ( fun_upd @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) @ ( hAPP @ ( fun @ A @ ( option @ B ) ) @ ( fun @ ( fun @ A @ ( option @ B ) ) @ ( fun @ A @ ( option @ B ) ) ) @ ( map_add @ A @ B ) @ C ) @ F ) ) @ E ) @ ( hAPP @ B @ ( option @ B ) @ ( some @ B ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[784]) ).

thf(1020,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( fun @ A @ ( fun @ B @ C ) ) @ ( product_curry @ A @ B @ C ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( product_prod_case @ A @ B @ C ) @ D ) )
      = ( ti @ ( fun @ A @ ( fun @ B @ C ) ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_61_curry__split) ).

thf(4779,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( fun @ A @ ( fun @ B @ C ) ) @ ( product_curry @ A @ B @ C ) @ ( hAPP @ ( fun @ A @ ( fun @ B @ C ) ) @ ( fun @ ( product_prod @ A @ B ) @ C ) @ ( product_prod_case @ A @ B @ C ) @ D ) )
      = ( ti @ ( fun @ A @ ( fun @ B @ C ) ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1020]) ).

thf(332,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E
        = ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( append @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ F ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ G ) ) @ H ) ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) @ C ) @ E ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ G ) ) @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_855_redp__redsp_OCallThrowParams) ).

thf(2321,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E
        = ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( append @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( fun @ val @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ val ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( map @ val @ ( exp @ ( list @ char ) ) ) @ ( val_1 @ ( list @ char ) ) ) @ F ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( list @ ( exp @ ( list @ char ) ) ) ) @ ( cons @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ G ) ) @ H ) ) )
     => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ redp @ A ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ B ) ) @ C ) @ E ) ) @ D ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( throw @ ( list @ char ) ) @ G ) ) @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[332]) ).

thf(989,axiom,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) ) @ ( conf @ A ) )
      = ( conf @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Conform_Oconf_res) ).

thf(4642,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ val @ ( fun @ ty @ bool ) ) ) ) @ ( conf @ A ) )
      = ( conf @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[989]) ).

thf(223,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ E ) @ A ) @ B ) @ C ) @ D ) )
      <=> ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ B ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ) )
          & ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ C ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_228_big__iff__small) ).

thf(1944,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ E ) )
     => ( ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ E ) @ A ) @ B ) @ C ) @ D ) )
         => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ B ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ) )
            & ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ C ) ) ) )
        & ( ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ A ) @ B ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ) )
            & ( hBOOL @ ( hAPP @ ( exp @ ( list @ char ) ) @ bool @ ( final @ ( list @ char ) ) @ C ) ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ E ) @ A ) @ B ) @ C ) @ D ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[223]) ).

thf(1005,axiom,
    ( ( ti @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) ) @ blocks )
    = blocks ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_SmallStep_Oblocks_res) ).

thf(4702,plain,
    ( ( ti @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ( list @ val ) @ ( exp @ ( list @ char ) ) ) ) ) @ ( exp @ ( list @ char ) ) ) @ blocks )
    = blocks ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1005]) ).

thf(578,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( fun @ A @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( map @ A @ A ) @ ( combi @ A ) ) @ B )
      = B ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_795_map__ident) ).

thf(3212,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( fun @ A @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( map @ A @ A ) @ ( combi @ A ) ) @ B )
      = B ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[578]) ).

thf(596,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ D ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ D ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_570_CastRedsNull) ).

thf(3299,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ B ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ D ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ) )
     => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( cast @ ( list @ char ) ) @ A ) @ B ) ) @ C ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ val @ ( exp @ ( list @ char ) ) @ ( val_1 @ ( list @ char ) ) @ null ) ) @ D ) ) ) @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ ( transitive_rtrancl @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[596]) ).

thf(488,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( sees_field @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( sees_field @ A ) @ B ) @ F ) @ D ) @ E ) @ F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_782_sees__field__idemp) ).

thf(2887,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( sees_field @ A ) @ B ) @ C ) @ D ) @ E ) @ F ) )
     => ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ty @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ A ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ty @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( sees_field @ A ) @ B ) @ F ) @ D ) @ E ) @ F ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[488]) ).

thf(1074,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ C ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_646_exp_Osimps_I88_J) ).

thf(4949,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ val @ ( exp @ A ) @ ( val_1 @ A ) @ B )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( while @ A ) @ C ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1074]) ).

thf(258,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ C ) ) @ D )
      = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ C ) @ D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_790_append__assoc) ).

thf(2074,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ C ) ) @ D )
      = ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ B ) @ ( hAPP @ ( list @ A ) @ ( list @ A ) @ ( hAPP @ ( list @ A ) @ ( fun @ ( list @ A ) @ ( list @ A ) ) @ ( append @ A ) @ C ) @ D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[258]) ).

thf(196,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ bool ) ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ B ) @ C ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ bool ) ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ C ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ B ) ) )
       => ( ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C )
          = ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_591_rtranclp__subset) ).

thf(1848,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ bool ) ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ B ) @ C ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ bool @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ bool ) ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ C ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ B ) ) )
       => ( ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ C )
          = ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ B ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[196]) ).

thf(254,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ A ) @ B ) @ C ) )
      = ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ A ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ fvs @ C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_844_fv__fvs_Osimps_I9_J) ).

thf(2059,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ A ) @ B ) @ C ) )
      = ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( fun @ ( list @ char ) @ bool ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ bool ) @ fv @ A ) ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ fvs @ C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[254]) ).

thf(92,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ B ) @ C ) @ D ) @ E )
        = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ F ) @ G ) @ H ) @ I ) )
    <=> ( ( B = F )
        & ( C = G )
        & ( ( ti @ A @ D )
          = ( ti @ A @ H ) )
        & ( E = I ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_424_exp_Osimps_I15_J) ).

thf(1490,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ B ) @ C ) @ D ) @ E )
          = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ F ) @ G ) @ H ) @ I ) )
       => ( ( B = F )
          & ( C = G )
          & ( ( ti @ A @ D )
            = ( ti @ A @ H ) )
          & ( E = I ) ) )
      & ( ( ( B = F )
          & ( C = G )
          & ( ( ti @ A @ D )
            = ( ti @ A @ H ) )
          & ( E = I ) )
       => ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ B ) @ C ) @ D ) @ E )
          = ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ F ) @ G ) @ H ) @ I ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[92]) ).

thf(366,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ D ) @ E ) @ F ) @ G ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_440_exp_Osimps_I212_J) ).

thf(2438,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( seq @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ ( list @ char ) @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) ) @ ( tryCatch @ A ) @ D ) @ E ) @ F ) @ G ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[366]) ).

thf(307,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ D ) ) )
     => ( ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ D ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_243_UnE) ).

thf(2238,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ D ) ) )
     => ( ~ ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( member @ A ) @ B ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[307]) ).

thf(409,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ G ) @ E ) @ F ) @ A ) @ B ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ G ) @ C ) @ D ) @ A ) @ B ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_232_extend__1__eval) ).

thf(2615,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( hBOOL @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool @ ( hAPP @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) @ bool ) ) ) @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ bool ) @ ( wf_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ wwf_J_mdecl ) @ G ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ bool ) @ ( member @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( fun @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) ) @ ( product_Pair @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ C ) @ D ) ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ ( product_Pair @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ E ) @ F ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( product_prod @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) @ ( product_prod @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) ) ) @ bool ) @ red @ G ) ) )
       => ( ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ G ) @ E ) @ F ) @ A ) @ B ) )
         => ( hBOOL @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) @ ( hAPP @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) @ eval @ G ) @ C ) @ D ) @ A ) @ B ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[409]) ).

thf(923,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ ( combc @ A @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ A ) @ ( combc @ A @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) ) @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) ) @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) @ ( combb @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ A ) @ ( member @ ( product_prod @ A @ A ) ) ) ) @ ( product_Pair @ A @ A ) ) ) ) @ B ) ) @ C ) @ D ) )
    <=> ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ B ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_598_rtranclp__rtrancl__eq) ).

thf(4423,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ ( combc @ A @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ A ) @ ( combc @ A @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) ) @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) ) @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) @ ( combb @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ A ) @ ( member @ ( product_prod @ A @ A ) ) ) ) @ ( product_Pair @ A @ A ) ) ) ) @ B ) ) @ C ) @ D ) )
       => ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ B ) ) ) )
      & ( ( hBOOL @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool @ ( hAPP @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ ( member @ ( product_prod @ A @ A ) ) @ ( hAPP @ A @ ( product_prod @ A @ A ) @ ( hAPP @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( product_Pair @ A @ A ) @ C ) @ D ) ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( transitive_rtrancl @ A ) @ B ) ) )
       => ( hBOOL @ ( hAPP @ A @ bool @ ( hAPP @ A @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( transitive_rtranclp @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ ( fun @ A @ bool ) ) ) @ ( combc @ A @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ ( fun @ A @ bool ) ) @ A ) @ ( combc @ A @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) @ ( hAPP @ ( fun @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) ) @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) @ ( hAPP @ ( fun @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) @ ( fun @ ( fun @ A @ ( fun @ A @ ( product_prod @ A @ A ) ) ) @ ( fun @ A @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) ) @ ( combb @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) @ A ) @ ( hAPP @ ( fun @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) @ ( fun @ ( fun @ A @ ( product_prod @ A @ A ) ) @ ( fun @ A @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) ) ) @ ( combb @ ( product_prod @ A @ A ) @ ( fun @ ( fun @ ( product_prod @ A @ A ) @ bool ) @ bool ) @ A ) @ ( member @ ( product_prod @ A @ A ) ) ) ) @ ( product_Pair @ A @ A ) ) ) ) @ B ) ) @ C ) @ D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[923]) ).

thf(1059,axiom,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) ) @ evals )
    = evals ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_BigStep_Oevals_res) ).

thf(4908,plain,
    ( ( ti @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( product_prod @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( option @ val ) ) ) @ bool ) ) ) ) ) @ evals )
    = evals ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1059]) ).

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] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ I ) @ J ) @ K ) @ L ) @ ( hAPP @ ( list @ char ) @ ty @ class @ M ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) @ M ) @ C ) @ D ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ F ) @ G ) ) @ H ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ I ) @ J ) @ K ) @ A ) @ B ) )
         => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) ) @ B ) @ D ) )
           => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ I ) @ J ) @ K ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ L ) @ C ) @ A ) ) @ E ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_967_WTrtCall) ).

thf(2453,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] :
      ( ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ I ) @ J ) @ K ) @ L ) @ ( hAPP @ ( list @ char ) @ ty @ class @ M ) ) )
     => ( ( hBOOL @ ( hAPP @ ( list @ char ) @ bool @ ( hAPP @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) @ ( hAPP @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) @ ( hAPP @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ty ) @ ( fun @ ty @ ( fun @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ char ) @ bool ) ) ) ) ) ) @ ( method @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) @ M ) @ C ) @ D ) @ E ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( list @ ( list @ char ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( product_Pair @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) @ F ) @ G ) ) @ H ) )
       => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( fun @ ( list @ ty ) @ bool ) ) ) ) @ wTrts_1 @ I ) @ J ) @ K ) @ A ) @ B ) )
         => ( ( hBOOL @ ( hAPP @ ( list @ ty ) @ bool @ ( hAPP @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) @ ( hAPP @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( fun @ ( list @ ty ) @ ( fun @ ( list @ ty ) @ bool ) ) @ ( list_all2 @ ty @ ty ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ty @ ( fun @ ty @ bool ) ) @ ( widen @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) @ I ) ) @ B ) @ D ) )
           => ( hBOOL @ ( hAPP @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) ) @ wTrt_1 @ I ) @ J ) @ K ) @ ( hAPP @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ( list @ char ) @ ( fun @ ( list @ ( exp @ ( list @ char ) ) ) @ ( exp @ ( list @ char ) ) ) ) @ ( call @ ( list @ char ) ) @ L ) @ C ) @ A ) ) @ E ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[371]) ).

thf(694,axiom,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ B ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ B ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_263_Un__upper2) ).

thf(3637,plain,
    ! [A: $i,B: $i,C: $i] : ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ B ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ C ) @ B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[694]) ).

thf(293,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_761_exp_Osimps_I25_J) ).

thf(2191,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( lAss @ A ) @ B ) @ C )
     != ( hAPP @ ( list @ char ) @ ( exp @ A ) @ ( new @ A ) @ D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[293]) ).

thf(9,axiom,
    ( ( ti @ bool @ fTrue )
    = fTrue ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fTrue_res) ).

thf(1204,plain,
    ( ( ti @ bool @ fTrue )
    = fTrue ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[9]) ).

thf(1043,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ D ) @ E ) @ F ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_500_exp_Osimps_I46_J) ).

thf(4858,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( cast @ A ) @ B ) @ C )
     != ( hAPP @ ( exp @ A ) @ ( exp @ A ) @ ( hAPP @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( hAPP @ ( exp @ A ) @ ( fun @ bop @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( binOp @ A ) @ D ) @ E ) @ F ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1043]) ).

thf(84,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ D ) @ B ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ E ) @ C ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_268_Un__mono) ).

thf(1468,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ D ) @ E ) )
     => ( ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ B ) @ C ) )
       => ( hBOOL @ ( hAPP @ ( fun @ A @ bool ) @ bool @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ bool ) @ ( ord_less_eq @ ( fun @ A @ bool ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ D ) @ B ) ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) @ ( hAPP @ ( fun @ A @ bool ) @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( semilattice_sup_sup @ ( fun @ A @ bool ) ) @ E ) @ C ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[84]) ).

thf(5327,plain,
    $false,
    inference(e,[status(thm)],[2163,5116,2612,5260,3399,1559,3666,3434,1237,1982,4015,1295,4904,2250,2822,4188,4560,4447,3962,1879,2744,2889,4005,4464,2341,3008,4824,2131,1633,2778,3477,3698,2463,1899,1840,3581,4852,1315,3830,5131,1549,1750,1211,1924,3317,2231,2953,4960,4532,1855,2077,4931,1596,2104,5225,3905,3762,2644,4515,3813,2381,5292,5069,2908,2062,3549,1443,3417,1618,3285,3460,1422,2947,1939,2248,2671,2676,2114,2837,1269,4326,5265,1971,3402,2854,5237,1692,4623,4234,1608,1655,3745,4575,3004,4011,3365,4110,1999,3338,1275,3616,2360,4762,2195,3017,4543,5120,1426,4638,2434,3781,4856,4650,2627,3121,4294,4435,3577,3103,1243,3777,3308,3898,3809,4249,2957,4941,3370,4792,1835,4343,3236,3350,3545,2723,3994,1914,2985,2227,4371,4079,1441,3513,5195,1645,1921,5056,1601,5301,4760,1967,4665,1803,2136,1518,4610,4439,4896,4563,3689,3574,3061,3612,2274,5150,1279,1832,5279,3891,1628,3204,3442,2328,4524,2698,1760,1660,1298,4070,3116,2667,4415,2269,5064,2501,1330,2444,1264,4334,2217,3410,3280,3749,2562,4023,5289,3353,4984,1462,4428,3855,2691,2403,5199,5193,3014,2852,4595,5231,1545,4119,3517,3374,3385,4353,4862,4492,5323,4928,1347,1572,1398,4830,4317,5052,4675,1568,3657,1931,4632,1641,3708,3180,4390,5020,3557,4400,1875,1778,2388,3866,4008,3258,4411,3322,4396,1664,4329,3199,1450,4258,4820,3152,4556,5027,3393,4297,2469,3670,4001,1418,3453,1334,3527,3702,1858,3525,4050,1828,3973,3569,2540,2034,4871,1960,5135,3093,4115,2335,4810,4162,3851,1843,4751,4935,1345,1201,3870,3588,4211,4065,2762,5045,3389,2508,2964,5059,2861,5220,1447,5101,3036,2530,4087,2979,4996,3157,4040,3955,2804,4519,3492,3406,5298,1604,3857,3186,2118,1338,2047,4910,4700,1651,5174,2011,3097,3011,1206,5012,4199,4216,4893,4323,3301,3303,4589,4407,4629,3984,3169,3531,2364,1470,2093,1783,4076,1311,2296,4031,4100,2496,4312,1768,2905,1868,5122,3795,1730,3679,1223,4466,2596,1487,3752,2937,3814,4836,2396,2015,1883,5049,3735,2264,2409,2733,1343,1255,4375,1570,4989,2133,4449,3134,5085,4284,3816,3271,4140,1365,3090,2741,4732,1740,3799,3445,4063,3282,3948,3980,1837,3269,3618,4053,4585,1555,2332,3877,4553,4776,1457,3894,2068,1819,3144,4746,1787,5113,2181,4417,3050,3926,1195,2211,2344,2492,4104,3647,1291,1592,4957,3381,1587,2858,5081,3650,1755,3001,4898,5313,1350,3968,4808,2498,3909,1234,1541,2157,2840,3482,2100,1851,2990,2377,5270,1794,5006,3440,4219,1683,4653,1361,5181,2830,2419,2240,4648,2085,1612,2317,3935,4301,5166,1964,4276,4421,2455,1584,4513,1214,3194,2349,4867,4444,1889,4814,4804,1825,5317,2304,1974,1552,2465,3819,2006,3937,4953,1720,2450,3486,3654,1478,1249,4384,2536,3126,2681,3787,1530,1266,4068,2900,1231,4244,4482,1192,4231,4347,2766,3692,1246,3920,2272,3201,4223,1393,2370,3215,5245,1318,2043,2748,1466,3508,4572,4550,5170,4163,3147,3755,4535,4148,3903,3802,5153,4288,3563,4567,4782,4081,2963,2368,1187,3639,2915,2793,2089,3190,2189,1616,3422,3841,2617,5126,2662,3675,4308,2423,2529,4708,4470,1680,2556,2717,1927,4657,3262,3289,2260,2121,2235,2729,1648,1764,4919,3130,3491,1483,1273,5230,1747,2941,3738,2028,4340,3839,5016,4577,3792,4269,4017,2894,1374,4365,1631,5241,4144,3741,2727,1916,3811,2789,4159,5097,3590,4381,4946,1226,2959,3536,4786,3387,4998,4283,4494,1389,3255,2981,5067,1620,3472,2489,3086,1752,4926,2674,2568,4605,2806,4975,1520,4612,4758,2827,4505,4485,5039,3695,5148,2442,3783,3700,2457,1258,4887,1675,4526,4537,1503,4978,3773,3118,5033,4127,2220,4096,2326,4796,2308,4645,1635,2935,4822,1997,3340,3594,2148,2358,2319,4433,2721,1282,1894,1574,3779,2257,4601,5222,4773,5267,2521,4790,4337,4704,4228,3631,2151,2229,5325,4305,2774,1524,3515,4914,2097,1603,2299,3710,2945,3197,4073,5093,3138,4667,2802,3182,2896,2871,4509,1439,2065,4388,3456,4635,2812,4541,4833,3073,1993,2267,1821,2757,3614,3971,2553,1381,2842,2710,1688,3219,2824,4203,1877,5202,3747,4882,3055,3932,1909,5286,3165,4181,4332,3192,2785,4850,3451,2664,3861,3480,1594,3627,5197,3953,2244,3142,2967,5089,4209,2867,2770,4933,1198,1396,3759,2835,1445,2620,4502,4373,2139,5248,3159,4362,2931,5042,2022,3310,4497,4626,2207,5139,4890,1694,2693,2506,1562,4084,3881,1948,1809,1304,2107,1208,3395,4529,2503,4319,4879,4292,2629,2684,3921,2564,3571,3849,4405,3031,1662,4394,4441,4136,2994,5025,3293,4598,3161,4735,4581,1958,4812,5003,1547,4360,4864,4937,3209,4377,4593,2882,2689,1798,3391,1770,3376,1516,2863,1598,4272,1400,1743,4939,1566,2143,3833,3659,1941,1252,3462,5074,3058,2386,3608,2850,2160,3642,4398,4003,3554,3344,1785,3026,2337,5309,4351,1658,3412,4875,2354,3448,5262,1790,3940,3305,4190,1637,3114,3273,2700,1186,2276,5030,1538,5001,2486,4241,3847,3329,3174,4737,1738,1218,5106,5186,5277,5319,2500,1766,2379,4431,4093,1240,2558,3415,1221,4488,2975,4748,1955,4106,1506,4046,4538,4267,1717,2030,1372,2892,2584,4671,2865,2924,3620,3565,1459,2818,1685,4165,3171,3874,2347,4185,3625,4138,2352,4944,1321,1781,1216,2209,2187,1189,2110,3320,2919,1289,1453,1866,3929,1734,4310,1807,5184,4678,3039,5315,2707,2167,3789,4089,4683,2971,3561,5087,3252,4451,5258,2591,1590,1326,4121,3864,1385,2594,2174,2283,1476,1341,3484,5272,2290,3825,5008,2406,2532,4681,5228,2026,3136,5104,3662,2526,2416,4900,2262,2447,2009,2081,2384,4964,2198,1706,2183,5072,2902,5128,2917,3552,2796,5164,5162,4175,4153,3844,3585,4591,3598,5109,5023,3149,2294,2036,3645,2739,4570,4025,2019,4619,3420,1614,2421,2123,2374,2287,4816,1774,2302,3705,3521,1527,4663,4367,5041,3992,2003,3379,1578,4687,1678,3511,2155,2534,3291,4356,3997,2983,2719,1229,3601,1625,3987,3373,3837,2604,2951,5078,2815,2736,1986,3132,2050,4579,4885,3690,1480,5014,2768,3822,2800,1363,2746,4157,2704,2366,2961,2913,4912,5176,2651,2783,2549,4029,4178,2201,1989,4755,4981,4281,4286,3277,3177,3804,5251,1891,5036,2223,1473,3633,3673,5283,5275,2127,1261,3543,2847,1582,3489,3965,4239,4206,1713,2687,4019,1902,1885,2810,1352,2600,3605,1976,1550,4987,4345,4501,3901,4274,3924,4784,2832,4547,1416,2170,1912,2177,1870,5172,4826,2879,2640,3437,3950,4779,2321,4642,1944,4702,3212,3299,2887,4949,2074,1848,2059,1490,2438,2238,2615,4423,4908,2453,3637,2191,1204,4858,1468]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12  % Problem  : SWW478+7 : TPTP v8.1.2. Released v5.3.0.
% 0.12/0.15  % Command  : run_Leo-III %s %d
% 0.15/0.36  % Computer : n011.cluster.edu
% 0.15/0.36  % Model    : x86_64 x86_64
% 0.15/0.36  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.36  % Memory   : 8042.1875MB
% 0.15/0.36  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.15/0.36  % CPULimit : 300
% 0.15/0.36  % WCLimit  : 300
% 0.15/0.36  % DateTime : Thu May 18 22:42:34 EDT 2023
% 0.15/0.36  % CPUTime  : 
% 0.84/0.83  % [INFO] 	 Parsing problem /export/starexec/sandbox2/benchmark/theBenchmark.p ... 
% 2.67/1.44  % [INFO] 	 Parsing done (608ms). 
% 2.67/1.45  % [INFO] 	 Running in sequential loop mode. 
% 3.12/1.64  % [INFO] 	 eprover registered as external prover. 
% 3.12/1.64  % [INFO] 	 cvc4 registered as external prover. 
% 3.12/1.64  % [INFO] 	 Scanning for conjecture ... 
% 5.70/2.53  % [INFO] 	 Found a conjecture and 1183 axioms. Running axiom selection ... 
% 8.52/3.98  % [INFO] 	 Axiom selection finished. Selected 1183 axioms (removed 0 axioms). 
% 17.90/11.52  % [INFO] 	 Problem is first-order (TPTP FOF). 
% 18.15/11.60  % [INFO] 	 Type checking passed. 
% 18.15/11.61  % [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 ... 
% 132.03/99.63  % External prover 'e' found a proof!
% 132.03/99.63  % [INFO] 	 Killing All external provers ... 
% 132.03/99.63  % Time passed: 99114ms (effective reasoning time: 98175ms)
% 132.03/99.63  % 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)>
% 132.03/99.64  % 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
% 132.03/99.64  % No. of inferences in proof: 2370
% 132.03/99.64  % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p : 99114 ms resp. 98175 ms w/o parsing
% 139.93/103.91  % SZS output start Refutation for /export/starexec/sandbox2/benchmark/theBenchmark.p
% See solution above
% 139.93/103.95  % [INFO] 	 Killing All external provers ... 
%------------------------------------------------------------------------------