TSTP Solution File: SWW478+6 by Leo-III---1.7.15

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Leo-III---1.7.15
% Problem  : SWW478+6 : TPTP v8.2.0. Released v5.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : run_Leo-III %s %d THM

% Computer : n008.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 : Mon Jun 24 18:23:07 EDT 2024

% Result   : Theorem 91.00s 65.94s
% Output   : Refutation 98.08s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    3
%            Number of leaves      :  605
% Syntax   : Number of formulae    : 1212 ( 640 unt;   0 typ;   0 def)
%            Number of atoms       : 2460 (1086 equ;   0 cnn)
%            Maximal formula atoms :   16 (   2 avg)
%            Number of connectives : 455898 ( 492   ~;  41   |; 154   &;454158   @)
%                                         (  51 <=>;1002  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   48 (  18 avg)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :    0 (   0   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  102 ( 100 usr;  48 con; 0-4 aty)
%            Number of variables   : 6071 (   0   ^6001   !;  70   ?;6071   :)

% 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(bop_type,type,
    bop: $i ).

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

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

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

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

thf(void_type,type,
    void: $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(undefined_type,type,
    undefined: $i > $i ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(typeSa1687304666_sconf_type,type,
    typeSa1687304666_sconf: $i ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

thf(122,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(1036,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ A @ bool ) ) @ ( fequal @ A ) )
      = ( fequal @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[122]) ).

thf(247,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_37_widen__trans) ).

thf(1501,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)],[247]) ).

thf(213,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_429_exp_Osimps_I106_J) ).

thf(1369,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)],[213]) ).

thf(155,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_141_map__add__None) ).

thf(1168,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)],[155]) ).

thf(321,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_250_exp_Osimps_I150_J) ).

thf(1767,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)],[321]) ).

thf(311,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_215_eval__hext) ).

thf(1729,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)],[311]) ).

thf(10,axiom,
    ! [A: $i] :
      ( ( ( ti @ bop @ A )
       != c_Expr_Obop_OEq )
     => ( ( ti @ bop @ A )
        = add ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_499_bop_Oexhaust) ).

thf(628,plain,
    ! [A: $i] :
      ( ( ( ti @ bop @ A )
       != c_Expr_Obop_OEq )
     => ( ( ti @ bop @ A )
        = add ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[10]) ).

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

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

thf(339,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_312_has__field__mono) ).

thf(1840,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)],[339]) ).

thf(567,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 ) ) @ typeSa1687304666_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(2595,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 ) ) @ typeSa1687304666_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)],[567]) ).

thf(556,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 @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ 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_85_WTrtBlock) ).

thf(2559,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 @ ty @ bool @ ( hAPP @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) @ ( hAPP @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) @ ( hAPP @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ char ) @ ( fun @ ( product_prod @ ( list @ char ) @ ( list @ char ) ) @ ( option @ val ) ) ) ) ) @ ( fun @ ( fun @ ( list @ char ) @ ( option @ ty ) ) @ ( fun @ ( exp @ ( list @ char ) ) @ ( fun @ ty @ bool ) ) ) @ ( hAPP @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ) ) ) ) ) ) ) @ ( fun @ ( fun @ nat @ ( option @ ( product_prod @ ( list @ 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)],[556]) ).

thf(95,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 @ 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(941,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 @ 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)],[95]) ).

thf(157,axiom,
    ( ( ti @ val @ v )
    = v ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_v_____res) ).

thf(1179,plain,
    ( ( ti @ val @ v )
    = v ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[157]) ).

thf(48,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_294_exp_Osimps_I224_J) ).

thf(777,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)],[48]) ).

thf(261,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(1554,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)],[261]) ).

thf(442,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_453_BinOpRedsThrow1) ).

thf(2199,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)],[442]) ).

thf(293,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_199_exp_Osimps_I138_J) ).

thf(1665,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)],[293]) ).

thf(484,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_183_wf__prog__wwf__prog) ).

thf(2336,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)],[484]) ).

thf(413,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(2109,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)],[413]) ).

thf(421,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_437_redp__redsp_OBinOpRed1) ).

thf(2131,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)],[421]) ).

thf(391,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_277_ThrowRedsThrow) ).

thf(2031,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)],[391]) ).

thf(513,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_307_exp_Osimps_I205_J) ).

thf(2412,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)],[513]) ).

thf(175,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_151_SeqReds) ).

thf(1237,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)],[175]) ).

thf(71,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_353_CastRedsThrow) ).

thf(846,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)],[71]) ).

thf(518,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_269_red__reds_OThrowThrow) ).

thf(2427,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)],[518]) ).

thf(101,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_229_red__reds_OFAccRed) ).

thf(962,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)],[101]) ).

thf(374,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_187_converse__rtranclE) ).

thf(1982,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)],[374]) ).

thf(21,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_390_CastNull) ).

thf(666,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)],[21]) ).

thf(192,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_71_prod_Osimps_I2_J) ).

thf(1295,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)],[192]) ).

thf(300,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_86_splitE) ).

thf(1686,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)],[300]) ).

thf(459,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(2250,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)],[459]) ).

thf(107,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_165_rtrancl_Ortrancl__refl) ).

thf(977,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)],[107]) ).

thf(27,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_275_final__def) ).

thf(683,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)],[27]) ).

thf(190,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_446_eval__evals_OBinOpThrow2) ).

thf(1290,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)],[190]) ).

thf(587,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(2644,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)],[587]) ).

thf(278,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_421_BinOpRedsThrow2) ).

thf(1618,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)],[278]) ).

thf(112,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_476_WhileFReds) ).

thf(994,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)],[112]) ).

thf(267,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(1569,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)],[267]) ).

thf(18,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(655,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)],[18]) ).

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

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

thf(164,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_190_FAssRedsVal) ).

thf(1200,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)],[164]) ).

thf(476,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_265_redp__redsp_OSeqThrow) ).

thf(2309,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)],[476]) ).

thf(541,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_297_exp_Osimps_I92_J) ).

thf(2512,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)],[541]) ).

thf(416,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_136_redp__redsp_OLAssRed) ).

thf(2117,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)],[416]) ).

thf(224,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_334_exp_Osimps_I54_J) ).

thf(1406,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)],[224]) ).

thf(594,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(2671,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)],[594]) ).

thf(383,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_96_splitD_H) ).

thf(2014,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)],[383]) ).

thf(372,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_181_option_Oexhaust) ).

thf(1971,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)],[372]) ).

thf(256,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_492_exp_Osimps_I164_J) ).

thf(1533,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)],[256]) ).

thf(228,axiom,
    ! [A: $i] :
      ( ( ti @ ( option @ A ) @ ( none @ A ) )
      = ( none @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Option_Ooption_ONone_res) ).

thf(1426,plain,
    ! [A: $i] :
      ( ( ti @ ( option @ A ) @ ( none @ A ) )
      = ( none @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[228]) ).

thf(185,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_342_exp_Osimps_I45_J) ).

thf(1275,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)],[185]) ).

thf(362,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_108_exp_Osimps_I3_J) ).

thf(1919,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)],[362]) ).

thf(236,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_251_exp_Osimps_I210_J) ).

thf(1458,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)],[236]) ).

thf(60,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_425_exp_Osimps_I113_J) ).

thf(814,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)],[60]) ).

thf(203,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_457_redp__redsp_ORedBinOp) ).

thf(1327,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)],[203]) ).

thf(534,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 @ 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 @ 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_161_WTrt__elim__cases_I1_J) ).

thf(2476,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 @ 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 @ 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)],[534]) ).

thf(581,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_448_red__reds_OBinOpRed2) ).

thf(2627,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)],[581]) ).

thf(30,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(698,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)],[30]) ).

thf(170,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_206_FAssReds1) ).

thf(1222,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)],[170]) ).

thf(494,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_236_redp__redsp_ORedFAcc) ).

thf(2360,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)],[494]) ).

thf(489,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_148_oconf__hext) ).

thf(2348,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)],[489]) ).

thf(177,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(1243,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)],[177]) ).

thf(386,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_80_curryE) ).

thf(2020,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)],[386]) ).

thf(287,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_352_WTrtFAss) ).

thf(1645,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)],[287]) ).

thf(542,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_217_redp__redsp_OFAccRed) ).

thf(2516,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)],[542]) ).

thf(403,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(2067,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)],[403]) ).

thf(510,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_282_redp__redsp_OBlockThrow) ).

thf(2405,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)],[510]) ).

thf(17,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_333_exp_Osimps_I55_J) ).

thf(651,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)],[17]) ).

thf(65,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_324_WTrtTry) ).

thf(829,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)],[65]) ).

thf(140,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_299_exp_Osimps_I15_J) ).

thf(1095,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)],[140]) ).

thf(106,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_225_exp_Osimps_I154_J) ).

thf(973,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)],[106]) ).

thf(83,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_272_eval__evals_OFAssThrow2) ).

thf(885,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)],[83]) ).

thf(589,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_271_Throw) ).

thf(2654,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)],[589]) ).

thf(571,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_235_eval__finalId) ).

thf(2603,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)],[571]) ).

thf(327,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(1792,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)],[327]) ).

thf(193,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_416_has__visible__field) ).

thf(1298,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)],[193]) ).

thf(593,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_490_exp_Osimps_I201_J) ).

thf(2667,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)],[593]) ).

thf(465,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_155_redp__red__eq) ).

thf(2269,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)],[465]) ).

thf(466,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_210_extend__eval) ).

thf(2274,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)],[466]) ).

thf(336,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_257_exp_Osimps_I203_J) ).

thf(1826,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)],[336]) ).

thf(438,axiom,
    ! [A: $i] :
      ( null
     != ( hAPP @ nat @ val @ addr @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_388_val_Osimps_I16_J) ).

thf(2185,plain,
    ! [A: $i] :
      ( null
     != ( hAPP @ nat @ val @ addr @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[438]) ).

thf(338,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_410_non__npD) ).

thf(1832,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)],[338]) ).

thf(531,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_202_exp_Osimps_I173_J) ).

thf(2466,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)],[531]) ).

thf(237,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_258_exp_Osimps_I167_J) ).

thf(1462,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)],[237]) ).

thf(560,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(2571,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)],[560]) ).

thf(204,axiom,
    ( ( ti @ val @ null )
    = null ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Value_Oval_ONull_res) ).

thf(1330,plain,
    ( ( ti @ val @ null )
    = null ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[204]) ).

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

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

thf(201,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_449_red__reds_OBinOpThrow1) ).

thf(1323,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)],[201]) ).

thf(7,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_56_internal__split__def) ).

thf(619,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)],[7]) ).

thf(198,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_328_exp_Osimps_I68_J) ).

thf(1313,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)],[198]) ).

thf(186,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(1279,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)],[186]) ).

thf(74,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_219_exp_Osimps_I76_J) ).

thf(853,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)],[74]) ).

thf(149,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(1147,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)],[149]) ).

thf(82,axiom,
    ! [A: $i,B: $i] :
      ( ( none @ A )
     != ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_132_option_Osimps_I2_J) ).

thf(881,plain,
    ! [A: $i,B: $i] :
      ( ( none @ A )
     != ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[82]) ).

thf(544,axiom,
    ( ( ti @ ( exp @ ( list @ char ) ) @ ea )
    = ea ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_ea_____res) ).

thf(2520,plain,
    ( ( ti @ ( exp @ ( list @ char ) ) @ ea )
    = ea ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[544]) ).

thf(429,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(2158,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ ( option @ A ) ) @ ( some @ A ) )
      = ( some @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[429]) ).

thf(323,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(1773,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ ( fun @ A @ bool ) @ bool ) ) @ ( member @ A ) )
      = ( member @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[323]) ).

thf(369,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_460_binop_Osimps_I3_J) ).

thf(1963,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)],[369]) ).

thf(325,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_144_empty__map__add) ).

thf(1778,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)],[325]) ).

thf(504,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_189_big__iff__small) ).

thf(2388,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)],[504]) ).

thf(200,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_498_exp_Osimps_I223_J) ).

thf(1319,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)],[200]) ).

thf(80,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_135_not__None__eq) ).

thf(870,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)],[80]) ).

thf(104,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_84_lconf__upd2) ).

thf(969,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)],[104]) ).

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

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

thf(268,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_438_exp_Osimps_I4_J) ).

thf(1572,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)],[268]) ).

thf(144,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_186_converse__rtrancl__induct) ).

thf(1115,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)],[144]) ).

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

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

thf(91,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_182_rtranclE) ).

thf(924,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)],[91]) ).

thf(576,axiom,
    ( ( ti @ ( list @ char ) @ classCast )
    = classCast ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Exceptions_OClassCast_res) ).

thf(2616,plain,
    ( ( ti @ ( list @ char ) @ classCast )
    = classCast ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[576]) ).

thf(389,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(2027,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)],[389]) ).

thf(409,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_150_map__add__Some__iff) ).

thf(2090,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)],[409]) ).

thf(214,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_123_exp_Osimps_I196_J) ).

thf(1373,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)],[214]) ).

thf(358,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_268_redp__redsp_OFAccThrow) ).

thf(1911,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)],[358]) ).

thf(283,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_306_exp_Osimps_I204_J) ).

thf(1632,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)],[283]) ).

thf(463,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_51_conf__upd__obj) ).

thf(2259,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)],[463]) ).

thf(526,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(2451,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) @ ( throw @ A ) )
      = ( throw @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[526]) ).

thf(299,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_329_exp_Osimps_I61_J) ).

thf(1682,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)],[299]) ).

thf(94,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_222_exp_Osimps_I160_J) ).

thf(937,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)],[94]) ).

thf(57,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_443_redp__redsp_OBinOpThrow1) ).

thf(806,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)],[57]) ).

thf(103,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_100_hext__objD) ).

thf(966,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)],[103]) ).

thf(528,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_176_converse__rtrancl__into__rtrancl) ).

thf(2456,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)],[528]) ).

thf(381,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_337_exp_Osimps_I53_J) ).

thf(2007,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)],[381]) ).

thf(455,axiom,
    ! [A: $i] :
      ( ( hAPP @ nat @ val @ addr @ A )
     != null ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_387_val_Osimps_I17_J) ).

thf(2237,plain,
    ! [A: $i] :
      ( ( hAPP @ nat @ val @ addr @ A )
     != null ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[455]) ).

thf(227,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_409_eval__cases_I12_J) ).

thf(1415,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)],[227]) ).

thf(411,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(2105,plain,
    ( ( ti @ ( fun @ ( list @ char ) @ nat ) @ addr_of_sys_xcpt )
    = addr_of_sys_xcpt ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[411]) ).

thf(233,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_266_eval__evals_OFAccThrow) ).

thf(1450,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)],[233]) ).

thf(45,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_93_domD) ).

thf(766,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)],[45]) ).

thf(215,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_87_splitI2) ).

thf(1377,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)],[215]) ).

thf(577,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_273_redp__redsp_OFAssThrow2) ).

thf(2618,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)],[577]) ).

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

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

thf(81,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_94_splitE2) ).

thf(877,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)],[81]) ).

thf(535,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_439_exp_Osimps_I71_J) ).

thf(2483,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)],[535]) ).

thf(424,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(2137,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)],[424]) ).

thf(19,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_69_domI) ).

thf(660,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)],[19]) ).

thf(604,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(2718,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)],[604]) ).

thf(373,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(1975,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)],[373]) ).

thf(497,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_363_rtranclp_Ortrancl__refl) ).

thf(2367,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)],[497]) ).

thf(364,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 @ 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 @ 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 @ 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 @ 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 @ A ) @ B ) @ C ) @ G ) @ I ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_396_WTrt__elim__cases_I8_J) ).

thf(1928,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 @ 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 @ 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 @ 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 @ 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 @ A ) @ B ) @ C ) @ G ) @ I ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[364]) ).

thf(329,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_362_subcls1p__subcls1__eq) ).

thf(1796,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)],[329]) ).

thf(547,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(2530,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)],[547]) ).

thf(280,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_260__092_060D_062___092_060D_062s_Osimps_I14_J) ).

thf(1622,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)],[280]) ).

thf(517,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_160_oconf__upd__obj) ).

thf(2424,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)],[517]) ).

thf(208,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_89_lconf__def) ).

thf(1345,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)],[208]) ).

thf(110,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_79_red__reds_OSeqRed) ).

thf(988,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)],[110]) ).

thf(505,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(2392,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)],[505]) ).

thf(428,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_372_redp__redsp_ORedCastFail) ).

thf(2154,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)],[428]) ).

thf(346,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(1863,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)],[346]) ).

thf(289,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(1651,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)],[289]) ).

thf(382,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(2011,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)],[382]) ).

thf(166,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_335_exp_Osimps_I58_J) ).

thf(1206,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)],[166]) ).

thf(25,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_138_dom__def) ).

thf(678,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)],[25]) ).

thf(431,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_74_split__eta) ).

thf(2164,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)],[431]) ).

thf(43,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(761,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ val @ ( exp @ A ) ) @ ( val_1 @ A ) )
      = ( val_1 @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[43]) ).

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

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

thf(396,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 @ 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 @ 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 @ 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_355_WTrt__elim__cases_I5_J) ).

thf(2047,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 @ 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 @ 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 @ 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)],[396]) ).

thf(360,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_145_redp__redsp_ORedSeq) ).

thf(1915,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)],[360]) ).

thf(197,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_364_r__into__rtranclp) ).

thf(1311,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)],[197]) ).

thf(586,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(2641,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( cast @ A ) )
      = ( cast @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[586]) ).

thf(406,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_157_redp__redsp_ORedInitBlock) ).

thf(2083,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)],[406]) ).

thf(502,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_319_TryCatch) ).

thf(2382,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)],[502]) ).

thf(561,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_57_map__add__assoc) ).

thf(2574,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)],[561]) ).

thf(231,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(1438,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)],[231]) ).

thf(401,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(2061,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)],[401]) ).

thf(379,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_339__092_060D_062___092_060D_062s_Osimps_I2_J) ).

thf(2000,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)],[379]) ).

thf(284,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(1636,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)],[284]) ).

thf(125,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(1047,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)],[125]) ).

thf(55,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_52_map__add__dom__app__simps_I1_J) ).

thf(798,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)],[55]) ).

thf(565,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_227_exp_Osimps_I159_J) ).

thf(2589,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)],[565]) ).

thf(512,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_237_red__reds_ORedFAcc) ).

thf(2409,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)],[512]) ).

thf(570,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_420_WTrtCast) ).

thf(2601,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)],[570]) ).

thf(118,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_115_exp_Osimps_I75_J) ).

thf(1021,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)],[118]) ).

thf(568,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(2596,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)],[568]) ).

thf(426,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_481_exp_Osimps_I65_J) ).

thf(2147,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)],[426]) ).

thf(28,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(693,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)],[28]) ).

thf(264,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_369_rtranclp__rtrancl__eq) ).

thf(1560,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)],[264]) ).

thf(296,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 @ 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(1676,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 @ 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)],[296]) ).

thf(422,axiom,
    ( ( ti @ ( fun @ bool @ val ) @ bool_1 )
    = bool_1 ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Value_Oval_OBool_res) ).

thf(2133,plain,
    ( ( ti @ ( fun @ bool @ val ) @ bool_1 )
    = bool_1 ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[422]) ).

thf(121,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_303_exp_Osimps_I153_J) ).

thf(1032,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)],[121]) ).

thf(353,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_111_exp_Osimps_I10_J) ).

thf(1888,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)],[353]) ).

thf(573,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_230_FAccReds) ).

thf(2609,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)],[573]) ).

thf(152,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(1159,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)],[152]) ).

thf(41,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_279_red__reds_OSeqThrow) ).

thf(757,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)],[41]) ).

thf(187,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_354_Cast) ).

thf(1281,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)],[187]) ).

thf(69,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_68_red__reds_ORedBlock) ).

thf(842,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)],[69]) ).

thf(9,axiom,
    null != unit,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_384_val_Osimps_I5_J) ).

thf(625,plain,
    null != unit,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[9]) ).

thf(521,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 @ 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_411_finalRefE) ).

thf(2433,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 @ 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)],[521]) ).

thf(371,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_67_map__add__upd__left) ).

thf(1968,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)],[371]) ).

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

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

thf(167,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_223_exp_Osimps_I137_J) ).

thf(1210,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)],[167]) ).

thf(291,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_393_red__reds_ORedCastNull) ).

thf(1656,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)],[291]) ).

thf(162,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_207_extend__1__eval) ).

thf(1195,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)],[162]) ).

thf(446,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_467_binop_Osimps_I9_J) ).

thf(2211,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)],[446]) ).

thf(478,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_368_rtranclp__trans) ).

thf(2313,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)],[478]) ).

thf(538,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_128_LAssRedsVal) ).

thf(2492,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)],[538]) ).

thf(553,axiom,
    ! [A: $i] :
      ( ( hAPP @ nat @ val @ addr @ A )
     != unit ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_241_val_Osimps_I11_J) ).

thf(2547,plain,
    ! [A: $i] :
      ( ( hAPP @ nat @ val @ addr @ A )
     != unit ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[553]) ).

thf(487,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_405_ThrowRedsNull) ).

thf(2344,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)],[487]) ).

thf(222,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_314_red__reds_ORedTry) ).

thf(1402,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)],[222]) ).

thf(210,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_466_binop_Osimps_I5_J) ).

thf(1360,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)],[210]) ).

thf(273,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_106__092_060D_062___092_060D_062s_Osimps_I6_J) ).

thf(1592,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)],[273]) ).

thf(183,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_475_binop_Osimps_I1_J) ).

thf(1270,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)],[183]) ).

thf(331,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_205_red__reds_OFAssRed2) ).

thf(1804,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)],[331]) ).

thf(562,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_249_exp_Osimps_I91_J) ).

thf(2577,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)],[562]) ).

thf(344,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_124_hconf__upd__obj) ).

thf(1856,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)],[344]) ).

thf(246,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_54_map__add__dom__app__simps_I3_J) ).

thf(1498,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)],[246]) ).

thf(295,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_122_exp_Osimps_I142_J) ).

thf(1672,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)],[295]) ).

thf(258,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(1540,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)],[258]) ).

thf(148,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_440_exp_Osimps_I70_J) ).

thf(1143,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)],[148]) ).

thf(415,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(2115,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)],[415]) ).

thf(328,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_208_FAssReds2) ).

thf(1794,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)],[328]) ).

thf(365,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_48_prod__caseI) ).

thf(1953,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)],[365]) ).

thf(142,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_346_WTrtFAcc) ).

thf(1111,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)],[142]) ).

thf(172,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_479_WhileCondThrow) ).

thf(1227,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)],[172]) ).

thf(4,axiom,
    unit != null,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_383_val_Osimps_I4_J) ).

thf(610,plain,
    unit != null,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[4]) ).

thf(317,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_213_Block) ).

thf(1755,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)],[317]) ).

thf(75,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_450_BinOp1Reds) ).

thf(857,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)],[75]) ).

thf(220,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_64_splitD) ).

thf(1397,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)],[220]) ).

thf(266,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_281_red__reds_OFAccThrow) ).

thf(1567,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)],[266]) ).

thf(137,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_162_InitBlockReds) ).

thf(1082,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)],[137]) ).

thf(135,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_49_splitI) ).

thf(1075,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)],[135]) ).

thf(575,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(2613,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)],[575]) ).

thf(333,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(1810,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)],[333]) ).

thf(168,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_211_FAss) ).

thf(1214,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)],[168]) ).

thf(123,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_114_exp_Osimps_I85_J) ).

thf(1039,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)],[123]) ).

thf(33,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_149_map__add__SomeD) ).

thf(706,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)],[33]) ).

thf(191,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(1292,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)],[191]) ).

thf(93,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_427_exp_Osimps_I107_J) ).

thf(933,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)],[93]) ).

thf(40,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_107_exp_Osimps_I143_J) ).

thf(753,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)],[40]) ).

thf(557,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(2561,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)],[557]) ).

thf(398,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(2053,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)],[398]) ).

thf(340,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_462_binop_Osimps_I6_J) ).

thf(1842,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)],[340]) ).

thf(554,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_179_rtrancl__induct2) ).

thf(2551,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)],[554]) ).

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

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

thf(151,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_428_exp_Osimps_I97_J) ).

thf(1155,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)],[151]) ).

thf(313,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_156_hconfD) ).

thf(1744,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)],[313]) ).

thf(8,axiom,
    ! [A: $i] :
      ( ( ti @ A @ ( undefined @ A ) )
      = ( undefined @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_HOL_Oundefined_res) ).

thf(622,plain,
    ! [A: $i] :
      ( ( ti @ A @ ( undefined @ A ) )
      = ( undefined @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[8]) ).

thf(271,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(1588,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)],[271]) ).

thf(31,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_82_map__add__upd) ).

thf(701,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)],[31]) ).

thf(243,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_292_eval__cases_I9_J) ).

thf(1478,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)],[243]) ).

thf(235,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_452_BinOp2Reds) ).

thf(1456,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)],[235]) ).

thf(342,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_286_FAssRedsThrow1) ).

thf(1852,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)],[342]) ).

thf(229,axiom,
    ! [A: $i] :
      ( ~ ( hBOOL @ ( hAPP @ bool @ bool @ fNot @ A ) )
      | ~ ( hBOOL @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fNot_1_1_U) ).

thf(1429,plain,
    ! [A: $i] :
      ( ~ ( hBOOL @ ( hAPP @ bool @ bool @ fNot @ A ) )
      | ~ ( hBOOL @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[229]) ).

thf(425,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_164_assigned__def) ).

thf(2140,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)],[425]) ).

thf(319,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_119_exp_Osimps_I145_J) ).

thf(1759,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)],[319]) ).

thf(16,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_432_exp_Osimps_I100_J) ).

thf(647,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)],[16]) ).

thf(324,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_424_eval__evals_OBinOpThrow1) ).

thf(1776,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)],[324]) ).

thf(536,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_376_CastRedsNull) ).

thf(2487,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)],[536]) ).

thf(569,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_463_binop_Osimps_I4_J) ).

thf(2598,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)],[569]) ).

thf(492,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(2355,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)],[492]) ).

thf(161,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(1192,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)],[161]) ).

thf(563,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_116_exp_Osimps_I82_J) ).

thf(2581,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)],[563]) ).

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 ) ) @ 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_168_r__into__rtrancl) ).

thf(1060,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)],[130]) ).

thf(126,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_194_redp__redsp_OFAssRed1) ).

thf(1050,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)],[126]) ).

thf(275,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_139_domIff) ).

thf(1599,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)],[275]) ).

thf(598,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_58_split__twice) ).

thf(2697,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)],[598]) ).

thf(178,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(1246,plain,
    ( ( ti @ ( fun @ ( product_prod @ bop @ ( product_prod @ val @ val ) ) @ ( option @ val ) ) @ binop )
    = binop ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[178]) ).

thf(281,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_172_oconf__new) ).

thf(1627,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)],[281]) ).

thf(253,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_322_CastRedsAddr) ).

thf(1525,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)],[253]) ).

thf(139,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_110_exp_Osimps_I6_J) ).

thf(1086,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)],[139]) ).

thf(128,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_317_TryRedsVal) ).

thf(1054,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)],[128]) ).

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

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

thf(439,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_259_exp_Osimps_I166_J) ).

thf(2189,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)],[439]) ).

thf(312,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_290_eval__cases_I4_J) ).

thf(1732,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)],[312]) ).

thf(53,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_143_map__add__empty) ).

thf(792,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)],[53]) ).

thf(444,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_338_exp_Osimps_I52_J) ).

thf(2203,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)],[444]) ).

thf(238,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_407_red__reds_ORedFAccNull) ).

thf(1466,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)],[238]) ).

thf(134,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_218_exp_Osimps_I77_J) ).

thf(1071,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)],[134]) ).

thf(509,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(2402,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)],[509]) ).

thf(47,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_497_exp_Osimps_I222_J) ).

thf(773,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)],[47]) ).

thf(485,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_254_exp_Osimps_I181_J) ).

thf(2338,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)],[485]) ).

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

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

thf(356,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(1906,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)],[356]) ).

thf(39,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(750,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)],[39]) ).

thf(180,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_193_exp_Osimps_I8_J) ).

thf(1251,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)],[180]) ).

thf(472,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_391_redp__redsp_ORedCastNull) ).

thf(2292,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)],[472]) ).

thf(298,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 @ ( 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 @ B ) @ A ) @ D ) @ E ) @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_99_WTrt__hext__mono) ).

thf(1680,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 @ ( 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 @ B ) @ A ) @ D ) @ E ) @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[298]) ).

thf(564,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_434_exp_Osimps_I105_J) ).

thf(2585,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)],[564]) ).

thf(63,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(824,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)],[63]) ).

thf(184,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_245_redp__redsp_OThrowRed) ).

thf(1273,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)],[184]) ).

thf(314,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(1747,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)],[314]) ).

thf(500,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_343_redp__redsp_OCastRed) ).

thf(2376,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)],[500]) ).

thf(460,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_401_FAccNull) ).

thf(2253,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)],[460]) ).

thf(392,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_226_exp_Osimps_I158_J) ).

thf(2033,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)],[392]) ).

thf(606,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(2727,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)],[606]) ).

thf(277,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(1615,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( seq @ A ) )
      = ( seq @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[277]) ).

thf(384,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_389_WTrtFAccNT) ).

thf(2016,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)],[384]) ).

thf(218,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_270_red__reds_OThrowRed) ).

thf(1388,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)],[218]) ).

thf(37,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 @ 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_38_InitBlockRed_I5_J) ).

thf(743,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 @ 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)],[37]) ).

thf(34,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(711,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)],[34]) ).

thf(100,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_224_exp_Osimps_I155_J) ).

thf(958,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)],[100]) ).

thf(603,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_98_hext__trans) ).

thf(2716,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)],[603]) ).

thf(252,axiom,
    ! [A: $i] :
      ( ( hBOOL @ ( ti @ bool @ A ) )
    <=> ( hBOOL @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_hBOOL_arg1) ).

thf(1520,plain,
    ! [A: $i] :
      ( ( ( hBOOL @ ( ti @ bool @ A ) )
       => ( hBOOL @ A ) )
      & ( ( hBOOL @ A )
       => ( hBOOL @ ( ti @ bool @ A ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[252]) ).

thf(597,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_65_lconf__hext) ).

thf(2695,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)],[597]) ).

thf(279,axiom,
    ( ( ti @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ la )
    = la ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_la_____res) ).

thf(1620,plain,
    ( ( ti @ ( fun @ ( list @ char ) @ ( option @ val ) ) @ la )
    = la ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[279]) ).

thf(537,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_73_map__add__find__right) ).

thf(2489,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)],[537]) ).

thf(248,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_170_hext__new) ).

thf(1503,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)],[248]) ).

thf(449,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_104_mem__splitE) ).

thf(2220,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)],[449]) ).

thf(390,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_62_red__reds_ORedInitBlock) ).

thf(2029,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)],[390]) ).

thf(51,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_331_exp_Osimps_I50_J) ).

thf(787,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)],[51]) ).

thf(205,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_370_redp__redsp_ORedCast) ).

thf(1332,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)],[205]) ).

thf(600,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 ) @ ( 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_356_final__addrE) ).

thf(2706,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 ) @ ( 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)],[600]) ).

thf(32,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_398_ThrowNull) ).

thf(704,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)],[32]) ).

thf(171,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_191_red__reds_ORedFAss) ).

thf(1224,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)],[171]) ).

thf(493,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_413_WTrtThrow) ).

thf(2358,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)],[493]) ).

thf(23,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_309_exp_Osimps_I168_J) ).

thf(672,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)],[23]) ).

thf(14,axiom,
    ~ ( hBOOL @ fFalse ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fFalse_1_1_U) ).

thf(641,plain,
    ~ ( hBOOL @ fFalse ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[14]) ).

thf(430,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_126_red__reds_OBlockRedSome) ).

thf(2161,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)],[430]) ).

thf(440,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_300_exp_Osimps_I212_J) ).

thf(2193,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)],[440]) ).

thf(294,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(1669,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( exp @ A ) @ bool ) @ ( final @ A ) )
      = ( final @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[294]) ).

thf(176,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_496_exp_Osimps_I88_J) ).

thf(1239,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)],[176]) ).

thf(378,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(1997,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)],[378]) ).

thf(90,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_178_converse__rtrancl__induct2) ).

thf(919,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)],[90]) ).

thf(555,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_347_red__reds_OCastRed) ).

thf(2557,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)],[555]) ).

thf(533,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_406_red__reds_ORedFAssNull) ).

thf(2474,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)],[533]) ).

thf(97,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_252_exp_Osimps_I151_J) ).

thf(947,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)],[97]) ).

thf(488,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 @ 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_180_progress) ).

thf(2346,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 @ 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)],[488]) ).

thf(477,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(2311,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)],[477]) ).

thf(417,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(2119,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)],[417]) ).

thf(66,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_422_exp_Osimps_I46_J) ).

thf(831,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)],[66]) ).

thf(447,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_256_exp_Osimps_I202_J) ).

thf(2214,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)],[447]) ).

thf(322,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_63_conf__widen) ).

thf(1771,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)],[322]) ).

thf(441,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_412_sees__field__decl__above) ).

thf(2197,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)],[441]) ).

thf(77,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_283_red__reds_OFAssThrow2) ).

thf(863,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)],[77]) ).

thf(540,axiom,
    ( ( ti @ ( fun @ ty @ bool ) @ is_refT )
    = is_refT ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_Ois__refT_res) ).

thf(2510,plain,
    ( ( ti @ ( fun @ ty @ bool ) @ is_refT )
    = is_refT ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[540]) ).

thf(44,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(764,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)],[44]) ).

thf(108,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_117_exp_Osimps_I83_J) ).

thf(979,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)],[108]) ).

thf(26,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 @ 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 ) ) @ typeSa1687304666_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 ) ) @ typeSa1687304666_sconf @ G ) @ A ) @ F ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_31_red__preserves__sconf) ).

thf(681,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 @ 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 ) ) @ typeSa1687304666_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 ) ) @ typeSa1687304666_sconf @ G ) @ A ) @ F ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[26]) ).

thf(550,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_495_exp_Osimps_I89_J) ).

thf(2538,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)],[550]) ).

thf(427,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(2151,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)],[427]) ).

thf(452,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_327_exp_Osimps_I69_J) ).

thf(2229,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)],[452]) ).

thf(50,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(784,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)],[50]) ).

thf(585,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_433_exp_Osimps_I104_J) ).

thf(2637,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)],[585]) ).

thf(516,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_154_SeqReds2) ).

thf(2422,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)],[516]) ).

thf(332,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_359_red__reds_ORedCastFail) ).

thf(1806,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)],[332]) ).

thf(115,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_304_exp_Osimps_I183_J) ).

thf(1011,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)],[115]) ).

thf(462,axiom,
    ( ( ti @ bool @ fTrue )
    = fTrue ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fTrue_res) ).

thf(2257,plain,
    ( ( ti @ bool @ fTrue )
    = fTrue ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[462]) ).

thf(111,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_482_exp_Osimps_I221_J) ).

thf(990,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)],[111]) ).

thf(113,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_59_split__curry) ).

thf(996,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)],[113]) ).

thf(458,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_478_exp_Osimps_I110_J) ).

thf(2246,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)],[458]) ).

thf(474,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_185_rtrancl__induct) ).

thf(2299,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)],[474]) ).

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

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

thf(330,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(1801,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)],[330]) ).

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

thf(616,plain,
    ! [A: $i,B: $i] :
      ( ( ti @ A @ ( ti @ A @ B ) )
      = ( ti @ A @ B ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[6]) ).

thf(146,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_436_exp_Osimps_I99_J) ).

thf(1122,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)],[146]) ).

thf(501,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_298_exp_Osimps_I93_J) ).

thf(2378,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)],[501]) ).

thf(301,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_70_red__reds_OInitBlockRed) ).

thf(1690,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)],[301]) ).

thf(437,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(2182,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)],[437]) ).

thf(350,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_295_exp_Osimps_I225_J) ).

thf(1877,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)],[350]) ).

thf(388,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 ) ) ) @ typeSa1687304666_sconf )
    = typeSa1687304666_sconf ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeSafe__Mirabelle__lrkjpapgnz_Osconf_res) ).

thf(2025,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 ) ) ) @ typeSa1687304666_sconf )
    = typeSa1687304666_sconf ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[388]) ).

thf(11,axiom,
    void != nt,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_381_ty_Osimps_I6_J) ).

thf(631,plain,
    void != nt,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[11]) ).

thf(572,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_483_exp_Osimps_I220_J) ).

thf(2605,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)],[572]) ).

thf(580,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_414_sees__field__idemp) ).

thf(2625,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)],[580]) ).

thf(414,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_323_red__reds_ORedCast) ).

thf(2111,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)],[414]) ).

thf(282,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_175_rtrancl_Ortrancl__into__rtrancl) ).

thf(1630,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)],[282]) ).

thf(153,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_431_exp_Osimps_I101_J) ).

thf(1162,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)],[153]) ).

thf(72,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_289_red__reds_OBlockThrow) ).

thf(848,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)],[72]) ).

thf(202,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_285_SeqRedsThrow) ).

thf(1325,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)],[202]) ).

thf(102,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(964,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)],[102]) ).

thf(89,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_301_exp_Osimps_I152_J) ).

thf(915,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)],[89]) ).

thf(96,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_253_exp_Osimps_I211_J) ).

thf(943,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)],[96]) ).

thf(22,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_291_finalE) ).

thf(668,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)],[22]) ).

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

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

thf(85,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_177_converse__rtranclE2) ).

thf(890,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)],[85]) ).

thf(436,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 ) @ bool ) ) @ ( is_class @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) )
    = ( is_class @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Decl_Ois__class_res) ).

thf(2180,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 ) @ bool ) ) @ ( is_class @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) )
    = ( is_class @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[436]) ).

thf(566,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_264_redp__redsp_OLAssThrow) ).

thf(2593,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)],[566]) ).

thf(120,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_458_red__reds_ORedBinOp) ).

thf(1029,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)],[120]) ).

thf(86,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_315_TryReds) ).

thf(895,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)],[86]) ).

thf(262,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_137_redp__redsp_OSeqRed) ).

thf(1556,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)],[262]) ).

thf(46,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_120_exp_Osimps_I144_J) ).

thf(769,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)],[46]) ).

thf(551,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(2542,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ A @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( lAss @ A ) )
      = ( lAss @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[551]) ).

thf(471,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(2289,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)],[471]) ).

thf(588,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_274_val_Osimps_I3_J) ).

thf(2647,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)],[588]) ).

thf(156,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_276_ThrowReds) ).

thf(1177,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)],[156]) ).

thf(216,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_220_exp_Osimps_I161_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 ) ) @ ( 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)],[216]) ).

thf(522,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(2439,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)],[522]) ).

thf(303,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_320_TryRedsFail) ).

thf(1699,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)],[303]) ).

thf(433,axiom,
    ! [A: $i,B: $i] :
      ( ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ B )
     != ( none @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_133_option_Osimps_I3_J) ).

thf(2171,plain,
    ! [A: $i,B: $i] :
      ( ( hAPP @ A @ ( option @ A ) @ ( some @ A ) @ B )
     != ( none @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[433]) ).

thf(64,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_152_LAssReds) ).

thf(827,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)],[64]) ).

thf(286,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_344_eval__evals_OCastThrow) ).

thf(1643,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)],[286]) ).

thf(3,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(608,plain,
    ( ( ti @ bop @ c_Expr_Obop_OEq )
    = c_Expr_Obop_OEq ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[3]) ).

thf(143,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_403_redp__redsp_ORedFAccNull) ).

thf(1113,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)],[143]) ).

thf(457,axiom,
    ( ( 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 @ ( 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_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_WellForm_Owf__prog_res) ).

thf(2244,plain,
    ( ( ti @ ( fun @ ( fun @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ( product_prod @ ( list @ char ) @ ty ) ) @ ( list @ ( product_prod @ ( list @ char ) @ ( product_prod @ ( list @ ty ) @ ( product_prod @ ty @ ( 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_prog @ ( product_prod @ ( list @ ( list @ char ) ) @ ( exp @ ( list @ char ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[457]) ).

thf(549,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_53_split__weak__cong) ).

thf(2535,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)],[549]) ).

thf(445,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_361_redp__redsp_ORedTryCatch) ).

thf(2207,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)],[445]) ).

thf(596,axiom,
    ( ( ti @ ( list @ char ) @ v_1 )
    = v_1 ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_V_____res) ).

thf(2693,plain,
    ( ( ti @ ( list @ char ) @ v_1 )
    = v_1 ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[596]) ).

thf(109,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 ) ) @ typeSa1687304666_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(983,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 ) ) @ typeSa1687304666_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 ) ) @ typeSa1687304666_sconf @ A ) @ B ) @ C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[109]) ).

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

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

thf(363,axiom,
    ( ( ti @ ty @ t )
    = t ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_T_H_____res) ).

thf(1926,plain,
    ( ( ti @ ty @ t )
    = t ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[363]) ).

thf(496,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_445_red__reds_OBinOpRed1) ).

thf(2365,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)],[496]) ).

thf(241,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_366_converse__rtranclp__into__rtranclp) ).

thf(1474,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)],[241]) ).

thf(490,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(2350,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)],[490]) ).

thf(397,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_95_mem__splitI) ).

thf(2051,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)],[397]) ).

thf(13,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_228__092_060D_062___092_060D_062s_Osimps_I7_J) ).

thf(636,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)],[13]) ).

thf(254,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(1528,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)],[254]) ).

thf(578,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_316_TryThrow) ).

thf(2620,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)],[578]) ).

thf(402,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_234_eval__final) ).

thf(2064,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)],[402]) ).

thf(498,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(2369,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)],[498]) ).

thf(116,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_465_binop_Osimps_I7_J) ).

thf(1015,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)],[116]) ).

thf(583,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_313_red__reds_OTryRed) ).

thf(2633,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)],[583]) ).

thf(387,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(2022,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)],[387]) ).

thf(269,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_118__092_060D_062___092_060D_062s_Osimps_I3_J) ).

thf(1583,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)],[269]) ).

thf(165,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_171_rtrancl__idemp) ).

thf(1203,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)],[165]) ).

thf(592,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_404_red__reds_ORedThrowNull) ).

thf(2665,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)],[592]) ).

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

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

thf(582,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_489_exp_Osimps_I179_J) ).

thf(2629,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)],[582]) ).

thf(376,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_493_exp_Osimps_I165_J) ).

thf(1990,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)],[376]) ).

thf(207,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_350_Class__widen__Class) ).

thf(1340,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)],[207]) ).

thf(240,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_246_redp__redsp_OThrowThrow) ).

thf(1472,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)],[240]) ).

thf(117,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_173_hconf__new) ).

thf(1018,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)],[117]) ).

thf(367,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(1958,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)],[367]) ).

thf(158,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(1181,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)],[158]) ).

thf(380,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_280_red__reds_OFAssThrow1) ).

thf(2005,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)],[380]) ).

thf(226,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_90_red__reds_ORedLAss) ).

thf(1413,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)],[226]) ).

thf(195,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_105_splitE_H) ).

thf(1304,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)],[195]) ).

thf(349,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_480_exp_Osimps_I64_J) ).

thf(1873,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)],[349]) ).

thf(154,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_288_FAssRedsThrow2) ).

thf(1166,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)],[154]) ).

thf(412,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_261_eval__evals_OLAssThrow) ).

thf(2107,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)],[412]) ).

thf(54,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(795,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)],[54]) ).

thf(480,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_461_binop_Osimps_I10_J) ).

thf(2318,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)],[480]) ).

thf(525,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_66_red__reds_ORedSeq) ).

thf(2449,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)],[525]) ).

thf(250,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(1509,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)],[250]) ).

thf(368,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_367_rtranclp_Ortrancl__into__rtrancl) ).

thf(1961,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)],[368]) ).

thf(591,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_477_exp_Osimps_I111_J) ).

thf(2661,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)],[591]) ).

thf(84,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(887,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( fun @ A @ bool ) @ ( fun @ A @ bool ) ) @ ( collect @ A ) )
      = ( collect @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[84]) ).

thf(105,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_184_wf__mdecl__wwf__mdecl) ).

thf(971,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)],[105]) ).

thf(288,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_196_exp_Osimps_I79_J) ).

thf(1647,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)],[288]) ).

thf(99,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_332_exp_Osimps_I51_J) ).

thf(954,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)],[99]) ).

thf(543,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_188_small__by__big) ).

thf(2518,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)],[543]) ).

thf(434,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_130_redp__redsp_ORedLAss) ).

thf(2175,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)],[434]) ).

thf(605,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_375_ty_Oinject) ).

thf(2720,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)],[605]) ).

thf(255,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_244_eval__evals_OThrowThrow) ).

thf(1531,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)],[255]) ).

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

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

thf(341,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(1845,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)],[341]) ).

thf(507,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_203_redp__redsp_OFAssRed2) ).

thf(2397,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)],[507]) ).

thf(119,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_330_exp_Osimps_I60_J) ).

thf(1025,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)],[119]) ).

thf(316,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_curryD) ).

thf(1753,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)],[316]) ).

thf(511,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_351_widen__subcls) ).

thf(2407,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)],[511]) ).

thf(590,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_415_sees__field__fun) ).

thf(2656,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)],[590]) ).

thf(52,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(791,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)],[52]) ).

thf(348,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_255_exp_Osimps_I180_J) ).

thf(1869,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)],[348]) ).

thf(519,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_451_red__reds_OBinOpThrow2) ).

thf(2429,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)],[519]) ).

thf(174,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_232_Val) ).

thf(1235,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)],[174]) ).

thf(467,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_125_redp__redsp_OInitBlockRed) ).

thf(2276,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)],[467]) ).

thf(292,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_134_not__Some__eq) ).

thf(1658,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)],[292]) ).

thf(395,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_169_the_Osimps) ).

thf(2044,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)],[395]) ).

thf(169,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_121_exp_Osimps_I197_J) ).

thf(1218,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)],[169]) ).

thf(375,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(1987,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)],[375]) ).

thf(450,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_311_redp__redsp_ORedTry) ).

thf(2224,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)],[450]) ).

thf(527,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_50_conf__hext) ).

thf(2454,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)],[527]) ).

thf(334,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_340_exp_Osimps_I2_J) ).

thf(1813,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)],[334]) ).

thf(194,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_442_exp_Osimps_I115_J) ).

thf(1300,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)],[194]) ).

thf(234,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_305_exp_Osimps_I182_J) ).

thf(1452,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)],[234]) ).

thf(160,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_371_redp__redsp_ORedTryFail) ).

thf(1188,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)],[160]) ).

thf(599,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_61_split__part) ).

thf(2700,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)],[599]) ).

thf(199,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_238_Seq) ).

thf(1317,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)],[199]) ).

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

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

thf(320,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_198_exp_Osimps_I174_J) ).

thf(1763,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)],[320]) ).

thf(98,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(951,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)],[98]) ).

thf(552,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_267_redp__redsp_OFAssThrow1) ).

thf(2545,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)],[552]) ).

thf(58,axiom,
    ( ( ti @ bool @ fFalse )
    = fFalse ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fFalse_res) ).

thf(808,plain,
    ( ( ti @ bool @ fFalse )
    = fFalse ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[58]) ).

thf(206,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_195_exp_Osimps_I78_J) ).

thf(1336,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)],[206]) ).

thf(15,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_486_exp_Osimps_I209_J) ).

thf(643,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)],[15]) ).

thf(38,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_129_hextI) ).

thf(744,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)],[38]) ).

thf(259,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(1543,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)],[259]) ).

thf(304,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 ) @ ( 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 @ A ) @ B ) @ C ) @ D ) @ F ) )
           => ~ ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ F ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_418_WTrt__elim__cases_I4_J) ).

thf(1702,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 ) @ ( 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 @ A ) @ B ) @ C ) @ D ) @ F ) )
           => ~ ( hBOOL @ ( hAPP @ ty @ bool @ is_refT @ F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[304]) ).

thf(5,axiom,
    nt != void,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_382_ty_Osimps_I7_J) ).

thf(613,plain,
    nt != void,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[5]) ).

thf(188,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_278_red__reds_OLAssThrow) ).

thf(1284,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)],[188]) ).

thf(315,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_325_exp_Osimps_I67_J) ).

thf(1749,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)],[315]) ).

thf(270,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_293_TryCatchRedsFinal) ).

thf(1585,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)],[270]) ).

thf(308,axiom,
    ! [A: $i] :
      ( unit
     != ( hAPP @ nat @ val @ addr @ A ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_242_val_Osimps_I10_J) ).

thf(1717,plain,
    ! [A: $i] :
      ( unit
     != ( hAPP @ nat @ val @ addr @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[308]) ).

thf(351,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_166_BlockRedsFinal) ).

thf(1881,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)],[351]) ).

thf(76,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_487_exp_Osimps_I149_J) ).

thf(859,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)],[76]) ).

thf(595,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_470_val_Osimps_I1_J) ).

thf(2675,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)],[595]) ).

thf(399,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(2056,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)],[399]) ).

thf(223,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_400_FAssNull) ).

thf(1404,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)],[223]) ).

thf(468,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_308_exp_Osimps_I169_J) ).

thf(2279,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)],[468]) ).

thf(366,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_split__conv) ).

thf(1955,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)],[366]) ).

thf(244,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_417_is__refT__def) ).

thf(1485,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)],[244]) ).

thf(127,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_399_redp__redsp_ORedThrowNull) ).

thf(1052,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)],[127]) ).

thf(249,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(1506,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)],[249]) ).

thf(529,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_435_exp_Osimps_I98_J) ).

thf(2458,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)],[529]) ).

thf(138,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_163_InitBlockRedsFinal) ).

thf(1084,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)],[138]) ).

thf(370,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_444_redp__redsp_OBinOpRed2) ).

thf(1966,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)],[370]) ).

thf(359,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_91_hext__refl) ).

thf(1913,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)],[359]) ).

thf(326,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_216_exp_Osimps_I7_J) ).

thf(1781,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)],[326]) ).

thf(147,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_459_eval__cases_I3_J) ).

thf(1126,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)],[147]) ).

thf(347,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 ) ) @ typeSa1687304666_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 @ 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 @ 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(1866,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 ) ) @ typeSa1687304666_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 @ 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 @ 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)],[347]) ).

thf(141,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(1108,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( option @ A ) @ A ) @ ( the @ A ) )
      = ( the @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[141]) ).

thf(574,axiom,
    ( ( ti @ val @ unit )
    = unit ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Value_Oval_OUnit_res) ).

thf(2611,plain,
    ( ( ti @ val @ unit )
    = unit ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[574]) ).

thf(482,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_109_exp_Osimps_I11_J) ).

thf(2325,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)],[482]) ).

thf(42,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_392_WTrtFAssNT) ).

thf(759,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)],[42]) ).

thf(219,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(1390,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)],[219]) ).

thf(475,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_326_exp_Osimps_I66_J) ).

thf(2305,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)],[475]) ).

thf(486,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_349_CastReds) ).

thf(2342,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)],[486]) ).

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

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

thf(451,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_357_CastRedsFail) ).

thf(2226,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)],[451]) ).

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

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

thf(523,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_221_exp_Osimps_I136_J) ).

thf(2443,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)],[523]) ).

thf(432,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_112_exp_Osimps_I84_J) ).

thf(2167,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)],[432]) ).

thf(285,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_103_splitI2_H) ).

thf(1639,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)],[285]) ).

thf(343,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_147_redp__redsp_ORedBlock) ).

thf(1854,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)],[343]) ).

thf(520,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_167_oconf__fupd) ).

thf(2431,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)],[520]) ).

thf(335,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_97_hext__upd__obj) ).

thf(1822,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)],[335]) ).

thf(49,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_153_redp__redsp_OBlockRedSome) ).

thf(781,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)],[49]) ).

thf(263,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(1558,plain,
    ( ( ti @ ( fun @ ( list @ char ) @ ( fun @ ( exp @ ( list @ char ) ) @ bool ) ) @ assigned )
    = assigned ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[263]) ).

thf(506,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_88_WTrtSeq) ).

thf(2394,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)],[506]) ).

thf(217,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(1385,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)],[217]) ).

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

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

thf(469,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_318_red__reds_ORedTryFail) ).

thf(2283,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)],[469]) ).

thf(242,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_402_redp__redsp_ORedFAssNull) ).

thf(1476,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)],[242]) ).

thf(355,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(1903,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)],[355]) ).

thf(423,axiom,
    ! [A: $i] :
      ( ( hBOOL @ A )
      | ( hBOOL @ ( hAPP @ bool @ bool @ fNot @ A ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fNot_2_1_U) ).

thf(2135,plain,
    ! [A: $i] :
      ( ( hBOOL @ A )
      | ( hBOOL @ ( hAPP @ bool @ bool @ fNot @ A ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[423]) ).

thf(131,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_140_redp__redsp_OBlockRedNone) ).

thf(1062,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)],[131]) ).

thf(548,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_456_BinOp) ).

thf(2532,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)],[548]) ).

thf(546,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_212_LAss) ).

thf(2526,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)],[546]) ).

thf(514,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_240_red__reds_OInitBlockThrow) ).

thf(2416,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)],[514]) ).

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

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

thf(530,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_248_exp_Osimps_I90_J) ).

thf(2462,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)],[530]) ).

thf(196,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_83_curry__conv) ).

thf(1308,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)],[196]) ).

thf(305,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(1706,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)],[305]) ).

thf(136,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(1077,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)],[136]) ).

thf(251,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_385_conf__NT) ).

thf(1513,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)],[251]) ).

thf(88,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(899,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)],[88]) ).

thf(418,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_365_rtranclp__idemp) ).

thf(2120,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)],[418]) ).

thf(473,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_386_conf__Null) ).

thf(2294,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)],[473]) ).

thf(479,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_158_red__reds_OBlockRedNone) ).

thf(2315,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)],[479]) ).

thf(539,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(2494,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)],[539]) ).

thf(579,axiom,
    ( ( ti @ ty @ void )
    = void ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_Oty_OVoid_res) ).

thf(2623,plain,
    ( ( ti @ ty @ void )
    = void ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[579]) ).

thf(377,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_214_FAccRedsVal) ).

thf(1994,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)],[377]) ).

thf(35,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_395_widen_Osimps) ).

thf(716,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)],[35]) ).

thf(508,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(2399,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)],[508]) ).

thf(394,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_142_empty__upd__none) ).

thf(2041,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)],[394]) ).

thf(232,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_101_hext__def) ).

thf(1440,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)],[232]) ).

thf(92,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_200_exp_Osimps_I175_J) ).

thf(929,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)],[92]) ).

thf(357,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(1908,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)],[357]) ).

thf(410,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_209_redp__redsp_ORedFAss) ).

thf(2102,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)],[410]) ).

thf(310,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_485_exp_Osimps_I148_J) ).

thf(1725,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)],[310]) ).

thf(461,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_296_redp__redsp_OTryRed) ).

thf(2255,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)],[461]) ).

thf(67,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_430_exp_Osimps_I96_J) ).

thf(835,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)],[67]) ).

thf(61,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_419_refTE) ).

thf(818,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)],[61]) ).

thf(545,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_441_exp_Osimps_I114_J) ).

thf(2522,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)],[545]) ).

thf(179,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(1248,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)],[179]) ).

thf(78,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_378_widen__null) ).

thf(865,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)],[78]) ).

thf(419,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_201_exp_Osimps_I172_J) ).

thf(2123,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)],[419]) ).

thf(448,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_204_red__reds_OFAssRed1) ).

thf(2218,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)],[448]) ).

thf(114,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_377_widen__Class) ).

thf(999,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)],[114]) ).

thf(470,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(2287,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)],[470]) ).

thf(503,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(2385,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)],[503]) ).

thf(297,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_263_eval__evals_OFAssThrow1) ).

thf(1678,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)],[297]) ).

thf(173,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 @ 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 @ 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_454_WTrt__elim__cases_I6_J) ).

thf(1229,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 @ 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 @ 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)],[173]) ).

thf(453,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_345_redp__redsp_OCastThrow) ).

thf(2233,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)],[453]) ).

thf(79,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_360_Class__widen) ).

thf(867,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)],[79]) ).

thf(318,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(1757,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)],[318]) ).

thf(345,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_146_map__upd__nonempty) ).

thf(1859,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)],[345]) ).

thf(211,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_113_exp_Osimps_I74_J) ).

thf(1363,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)],[211]) ).

thf(245,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(1495,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)],[245]) ).

thf(483,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_348_red__reds_OCastThrow) ).

thf(2334,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)],[483]) ).

thf(602,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_310_Try) ).

thf(2714,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)],[602]) ).

thf(132,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_426_exp_Osimps_I112_J) ).

thf(1065,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)],[132]) ).

thf(29,axiom,
    ( ( ti @ ( fun @ bool @ bool ) @ fNot )
    = fNot ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fNot_res) ).

thf(696,plain,
    ( ( ti @ ( fun @ bool @ bool ) @ fNot )
    = fNot ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[29]) ).

thf(443,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_447_redp__redsp_OBinOpThrow2) ).

thf(2201,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)],[443]) ).

thf(56,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_233_eval__cases_I2_J) ).

thf(801,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)],[56]) ).

thf(302,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_239_eval__cases_I8_J) ).

thf(1693,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)],[302]) ).

thf(404,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_102_mem__splitI2) ).

thf(2070,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)],[404]) ).

thf(87,axiom,
    ( ( ti @ ( fun @ ( list @ char ) @ ty ) @ class )
    = class ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_Oty_OClass_res) ).

thf(897,plain,
    ( ( ti @ ( fun @ ( list @ char ) @ ty ) @ class )
    = class ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[87]) ).

thf(225,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(1410,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)],[225]) ).

thf(129,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_321_red__reds_ORedTryCatch) ).

thf(1056,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)],[129]) ).

thf(20,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_WellTypeRT_OWTrt_res) ).

thf(664,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)],[20]) ).

thf(306,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(1710,plain,
    ! [A: $i] :
      ( ( ti @ ( fun @ ( exp @ A ) @ ( fun @ ( exp @ A ) @ ( exp @ A ) ) ) @ ( while @ A ) )
      = ( while @ A ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[306]) ).

thf(163,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_455_BinOpRedsVal) ).

thf(1197,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)],[163]) ).

thf(36,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_358_CastFail) ).

thf(740,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)],[36]) ).

thf(182,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_397_FAccRedsNull) ).

thf(1268,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)],[182]) ).

thf(150,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 ) @ 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 @ 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 @ A ) @ B ) @ C ) @ D ) @ nt ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_394_WTrt__elim__cases_I7_J) ).

thf(1152,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 ) @ 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 @ 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 @ A ) @ B ) @ C ) @ D ) @ nt ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[150]) ).

thf(257,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(1537,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)],[257]) ).

thf(464,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_302_exp_Osimps_I213_J) ).

thf(2265,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)],[464]) ).

thf(260,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_491_exp_Osimps_I200_J) ).

thf(1550,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)],[260]) ).

thf(209,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(1357,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)],[209]) ).

thf(62,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_174_rtrancl__trans) ).

thf(822,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)],[62]) ).

thf(352,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_464_binop_Osimps_I8_J) ).

thf(1885,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)],[352]) ).

thf(221,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_39_internal__split__conv) ).

thf(1399,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)],[221]) ).

thf(145,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_408_FAssRedsNull) ).

thf(1120,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)],[145]) ).

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(607,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(491,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_284_LAssRedsThrow) ).

thf(2353,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)],[491]) ).

thf(68,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_55_map__add__dom__app__simps_I2_J) ).

thf(839,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)],[68]) ).

thf(456,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_92_cond__split__eta) ).

thf(2241,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)],[456]) ).

thf(420,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_484_exp_Osimps_I208_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 ) ) @ ( 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)],[420]) ).

thf(73,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_231_FAcc) ).

thf(850,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)],[73]) ).

thf(307,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_488_exp_Osimps_I178_J) ).

thf(1713,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)],[307]) ).

thf(274,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_262_eval__evals_OSeqThrow) ).

thf(1597,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)],[274]) ).

thf(230,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_247_exp_Osimps_I14_J) ).

thf(1431,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)],[230]) ).

thf(276,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_494_exp_Osimps_I13_J) ).

thf(1606,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)],[276]) ).

thf(265,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_243_redp__redsp_OInitBlockThrow) ).

thf(1565,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)],[265]) ).

thf(385,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_78_red__reds_OLAssRed) ).

thf(2018,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)],[385]) ).

thf(400,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_159_Red__lcl__add) ).

thf(2059,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)],[400]) ).

thf(408,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 @ 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 @ 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_127_WTrtLAss) ).

thf(2087,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 @ 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 @ 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)],[408]) ).

thf(133,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_131_lconf__empty) ).

thf(1069,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)],[133]) ).

thf(435,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(2177,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)],[435]) ).

thf(481,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_336_exp_Osimps_I59_J) ).

thf(2321,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)],[481]) ).

thf(290,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_60_curry__split) ).

thf(1653,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)],[290]) ).

thf(212,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_287_FAccRedsThrow) ).

thf(1367,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)],[212]) ).

thf(159,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_341_exp_Osimps_I44_J) ).

thf(1184,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)],[159]) ).

thf(405,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(2074,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)],[405]) ).

thf(361,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_192_big__by__small) ).

thf(1917,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)],[361]) ).

thf(24,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(676,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)],[24]) ).

thf(239,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_197_exp_Osimps_I139_J) ).

thf(1468,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)],[239]) ).

thf(532,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_423_exp_Osimps_I47_J) ).

thf(2470,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)],[532]) ).

thf(3238,plain,
    $false,
    inference(e,[status(thm)],[1036,1501,1369,1168,1767,1729,628,1899,1840,2595,2559,941,1179,777,1554,2199,1665,2336,2109,2131,2031,2412,1237,846,2427,962,1982,666,1295,1686,2250,977,683,1290,2644,1618,994,1569,655,2363,1200,2309,2512,2117,1406,2671,2014,1971,1533,1426,1275,1919,1458,814,1327,2476,2627,698,1222,2360,2348,1243,2020,1645,2516,2067,2405,651,829,1095,973,885,2654,2603,1792,1298,2667,2269,2274,1826,2185,1832,2466,1462,2571,1330,1264,1323,619,1313,1279,853,1147,881,2520,2158,1773,1963,1778,2388,1319,870,969,2373,1572,1115,2635,924,2616,2027,2090,1373,1911,1632,2259,2451,1682,937,806,966,2456,2007,2237,1415,2105,1450,766,1377,2618,634,877,2483,2137,660,2718,1975,2367,1928,1796,2530,1622,2424,1345,988,2392,2154,1863,1651,2011,1206,678,2164,761,810,2047,1915,1311,2641,2083,2382,2574,1438,2061,2000,1636,1047,798,2589,2409,2601,1021,2596,2147,693,1560,1676,2133,1032,1888,2609,1159,757,1281,842,625,2433,1968,2565,1210,1656,1195,2211,2313,2492,2547,2344,1402,1360,1592,1270,1804,2577,1856,1498,1672,1540,1143,2115,1794,1953,1111,1227,610,1755,857,1397,1567,1082,1075,2613,1810,1214,1039,706,1292,933,753,2561,2053,1842,2551,2085,1155,1744,622,1588,701,1478,1456,1852,1429,2140,1759,647,1776,2487,2598,2355,1192,2581,1060,1050,1599,2697,1246,1627,1525,1086,1054,1286,2189,1732,792,2203,1466,1071,2402,773,2338,2235,1906,750,1251,2292,1680,2585,824,1273,1747,2376,2253,2033,2727,1615,2016,1388,743,711,958,2716,1520,2695,1620,2489,1503,2220,2029,787,1332,2706,704,1224,2358,672,641,2161,2193,1669,1239,1997,919,2557,2474,947,2346,2311,2119,831,2214,1771,2197,863,2510,764,979,681,2538,2151,2229,784,2637,2422,1806,1011,2257,990,996,2246,2299,1043,1801,616,1122,2378,1690,2182,1877,2025,631,2605,2625,2111,1630,1162,848,1325,964,915,943,668,2710,890,2180,2593,1029,895,1556,769,2542,2289,2647,1177,1381,2439,1699,2171,827,1643,608,1113,2244,2535,2207,2693,983,2418,1926,2365,1474,2350,2051,636,1528,2620,2064,2369,1015,2633,2022,1583,1203,2665,2037,2629,1990,1340,1472,1018,1958,1181,2005,1413,1304,1873,1166,2107,795,2318,2449,1509,1961,2661,887,971,1647,954,2518,2175,2720,1531,2567,1845,2397,1025,1753,2407,2656,791,1869,2429,1235,2276,1658,2044,1218,1987,2224,2454,1813,1300,1452,1188,2700,1317,1830,1763,951,2545,808,1336,643,744,1543,1702,613,1284,1749,1585,1717,1881,859,2675,2056,1404,2279,1955,1485,1052,1506,2458,1084,1966,1913,1781,1126,1866,1108,2611,2325,759,1390,2305,2342,844,2226,1590,2443,2167,1639,1854,2431,1822,781,1558,2394,1385,1721,2283,1476,1903,2135,1062,2532,2526,2416,2447,2462,1308,1706,1077,1513,899,2120,2294,2315,2494,2623,1994,716,2399,2041,1440,929,1908,2102,1725,2255,835,818,2522,1248,865,2123,2218,999,2287,2385,1678,1229,2233,867,1757,1859,1363,1495,2334,2714,1065,696,2201,801,1693,2070,897,1410,1056,664,1710,1197,740,1268,1152,1537,2265,1550,1357,822,1885,1399,1120,607,2353,839,2241,2127,850,1713,1597,1431,1606,1565,2018,2059,2087,1069,2177,2321,1653,1367,1184,2074,1917,676,1468,2470]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.06/0.11  % Problem  : SWW478+6 : TPTP v8.2.0. Released v5.3.0.
% 0.06/0.11  % Command  : run_Leo-III %s %d THM
% 0.11/0.32  % Computer : n008.cluster.edu
% 0.11/0.32  % Model    : x86_64 x86_64
% 0.11/0.32  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.11/0.32  % Memory   : 8042.1875MB
% 0.11/0.32  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.11/0.32  % CPULimit : 300
% 0.11/0.32  % WCLimit  : 300
% 0.11/0.32  % DateTime : Wed Jun 19 06:24:40 EDT 2024
% 0.11/0.32  % CPUTime  : 
% 1.11/1.05  % [INFO] 	 Parsing problem /export/starexec/sandbox2/benchmark/theBenchmark.p ... 
% 3.30/1.79  % [INFO] 	 Parsing done (733ms). 
% 3.30/1.80  % [INFO] 	 Running in sequential loop mode. 
% 3.84/2.15  % [INFO] 	 eprover registered as external prover. 
% 3.84/2.16  % [INFO] 	 Scanning for conjecture ... 
% 6.49/3.13  % [INFO] 	 Found a conjecture (or negated_conjecture) and 604 axioms. Running axiom selection ... 
% 9.25/4.90  % [INFO] 	 Axiom selection finished. Selected 604 axioms (removed 0 axioms). 
% 18.15/12.71  % [INFO] 	 Problem is first-order (TPTP FOF). 
% 18.28/12.81  % [INFO] 	 Type checking passed. 
% 18.28/12.81  % [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 ... 
% 91.00/65.93  % External prover 'e' found a proof!
% 91.00/65.93  % [INFO] 	 Killing All external provers ... 
% 91.00/65.93  % Time passed: 65420ms (effective reasoning time: 64126ms)
% 91.00/65.93  % 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)>
% 91.00/65.94  % Axioms used in derivation (604): fact_202_exp_Osimps_I173_J, fact_432_exp_Osimps_I100_J, fact_450_BinOp1Reds, fact_36_split__paired__Ex, tsy_c_fconj_res, fact_485_exp_Osimps_I148_J, fact_161_WTrt__elim__cases_I1_J, fact_389_WTrtFAccNT, fact_176_converse__rtrancl__into__rtrancl, fact_437_redp__redsp_OBinOpRed1, fact_337_exp_Osimps_I53_J, fact_139_domIff, fact_326_exp_Osimps_I66_J, fact_149_map__add__SomeD, fact_65_lconf__hext, fact_22_fun__upd__apply, fact_187_converse__rtranclE, tsy_c_Expr_Oexp_OLAss_res, fact_237_red__reds_ORedFAcc, fact_59_split__curry, fact_90_red__reds_ORedLAss, fact_439_exp_Osimps_I71_J, fact_357_CastRedsFail, fact_25_fun__upd__idem__iff, fact_303_exp_Osimps_I153_J, fact_143_map__add__empty, fact_325_exp_Osimps_I67_J, fact_340_exp_Osimps_I2_J, fact_35_PairE, fact_405_ThrowRedsNull, fact_172_oconf__new, fact_381_ty_Osimps_I6_J, fact_135_not__None__eq, fact_171_rtrancl__idemp, fact_339__092_060D_062___092_060D_062s_Osimps_I2_J, tsy_c_SmallStep_Ored_res, fact_286_FAssRedsThrow1, fact_393_red__reds_ORedCastNull, fact_103_splitI2_H, fact_244_eval__evals_OThrowThrow, fact_142_empty__upd__none, help_COMBS_1_1_U, fact_111_exp_Osimps_I10_J, fact_10_prod__induct5, tsy_c_Transitive__Closure_Ortrancl_res, fact_156_hconfD, fact_27_red__preserves__hconf, fact_120_exp_Osimps_I144_J, fact_362_subcls1p__subcls1__eq, fact_266_eval__evals_OFAccThrow, fact_247_exp_Osimps_I14_J, fact_20_fun__upd__other, tsy_c_Product__Type_OPair_res, fact_177_converse__rtranclE2, tsy_c_TypeRel_Owiden_res, fact_234_eval__final, fact_249_exp_Osimps_I91_J, fact_194_redp__redsp_OFAssRed1, fact_245_redp__redsp_OThrowRed, fact_264_redp__redsp_OLAssThrow, fact_459_eval__cases_I3_J, fact_431_exp_Osimps_I101_J, tsy_c_SmallStep_Oassigned_res, fact_47_lconf__upd, tsy_v_V_____res, fact_320_TryRedsFail, fact_284_LAssRedsThrow, tsy_c_COMBK_res, help_fconj_3_1_U, fact_121_exp_Osimps_I197_J, fact_433_exp_Osimps_I104_J, fact_227_exp_Osimps_I159_J, fact_214_FAccRedsVal, fact_429_exp_Osimps_I106_J, fact_359_red__reds_ORedCastFail, tsy_c_Type_Oty_OVoid_res, fact_88_WTrtSeq, tsy_c_Option_Ooption_ONone_res, fact_261_eval__evals_OLAssThrow, fact_152_LAssReds, fact_128_LAssRedsVal, tsy_c_member_res, fact_84_lconf__upd2, fact_170_hext__new, fact_83_curry__conv, fact_3_assms, fact_277_ThrowRedsThrow, tsy_c_Expr_Oexp_OFAss_res, fact_158_red__reds_OBlockRedNone, fact_130_redp__redsp_ORedLAss, fact_413_WTrtThrow, fact_0_InitBlockRed_I3_J, fact_306_exp_Osimps_I204_J, fact_458_red__reds_ORedBinOp, fact_446_eval__evals_OBinOpThrow2, fact_30_prod__induct3, fact_453_BinOpRedsThrow1, fact_2_fun__upd__triv, fact_226_exp_Osimps_I158_J, fact_141_map__add__None, fact_324_WTrtTry, fact_53_split__weak__cong, fact_309_exp_Osimps_I168_J, fact_334_exp_Osimps_I54_J, fact_160_oconf__upd__obj, fact_330_exp_Osimps_I60_J, fact_493_exp_Osimps_I165_J, tsy_c_Expr_Oexp_OBinOp_res, fact_157_redp__redsp_ORedInitBlock, fact_104_mem__splitE, fact_349_CastReds, fact_259_exp_Osimps_I166_J, fact_205_red__reds_OFAssRed2, fact_462_binop_Osimps_I6_J, fact_87_splitI2, tsy_c_Type_Ois__refT_res, fact_7_InitBlockRed_I2_J, fact_232_Val, tsy_v_h_Ha_____res, tsy_c_Map_Omap__add_res, fact_472_val_Osimps_I7_J, fact_146_map__upd__nonempty, tsy_c_Map_Odom_res, tsy_c_Conform_Ohconf_res, fact_417_is__refT__def, fact_243_redp__redsp_OInitBlockThrow, fact_178_converse__rtrancl__induct2, fact_317_TryRedsVal, fact_412_sees__field__decl__above, tsy_c_hAPP_res, fact_391_redp__redsp_ORedCastNull, fact_196_exp_Osimps_I79_J, fact_394_WTrt__elim__cases_I7_J, fact_346_WTrtFAcc, fact_441_exp_Osimps_I114_J, fact_347_red__reds_OCastRed, fact_125_redp__redsp_OInitBlockRed, fact_443_redp__redsp_OBinOpThrow1, fact_16_Pair__eq, tsy_c_BigStep_Oeval_res, fact_18_fun__upd__def, fact_434_exp_Osimps_I105_J, fact_242_val_Osimps_I10_J, fact_290_eval__cases_I4_J, fact_282_redp__redsp_OBlockThrow, fact_72_split__conv, tsy_c_Type_Oty_OClass_res, fact_311_redp__redsp_ORedTry, tsy_c_Set_OCollect_res, fact_19_fun__upd__idem, tsy_c_hAPP_arg1, fact_216_exp_Osimps_I7_J, fact_99_WTrt__hext__mono, fact_182_rtranclE, fact_373_ty_Osimps_I8_J, fact_477_exp_Osimps_I111_J, fact_355_WTrt__elim__cases_I5_J, fact_12_prod__induct4, fact_240_red__reds_OInitBlockThrow, fact_300_exp_Osimps_I212_J, fact_164_assigned__def, fact_383_val_Osimps_I4_J, help_fNot_2_1_U, fact_71_prod_Osimps_I2_J, fact_482_exp_Osimps_I221_J, fact_210_extend__eval, tsy_c_Decl_Ois__class_res, fact_287_FAccRedsThrow, fact_33_pred__equals__eq2, fact_268_redp__redsp_OFAccThrow, fact_297_exp_Osimps_I92_J, fact_481_exp_Osimps_I65_J, tsy_c_Expr_Oexp_OVal_res, fact_112_exp_Osimps_I84_J, fact_213_Block, fact_131_lconf__empty, fact_425_exp_Osimps_I113_J, tsy_c_Expr_Oexp_OBlock_res, fact_424_eval__evals_OBinOpThrow1, fact_204_red__reds_OFAssRed1, tsy_v_v_____res, tsy_c_COMBC_res, tsy_c_JWellForm_Owf__J__mdecl_res, fact_159_Red__lcl__add, fact_105_splitE_H, fact_148_oconf__hext, fact_219_exp_Osimps_I76_J, fact_314_red__reds_ORedTry, tsy_v_E_____res, fact_17_split__paired__All, fact_184_wf__mdecl__wwf__mdecl, tsy_c_Product__Type_Ocurry_res, tsy_c_Conform_Ooconf_res, tsy_c_COMBS_res, fact_153_redp__redsp_OBlockRedSome, fact_66_red__reds_ORedSeq, help_fNot_1_1_U, fact_396_WTrt__elim__cases_I8_J, fact_468_val_Osimps_I12_J, fact_392_WTrtFAssNT, fact_342_exp_Osimps_I45_J, fact_127_WTrtLAss, tsy_c_TypeSafe__Mirabelle__lrkjpapgnz_Osconf_res, fact_239_eval__cases_I8_J, fact_100_hext__objD, tsy_c_WellTypeRT_OWTrt_res, fact_452_BinOp2Reds, fact_46_red__lcl__add, tsy_c_fFalse_res, tsy_c_DefAss_O_092_060D_062_res, fact_489_exp_Osimps_I179_J, fact_411_finalRefE, tsy_c_Product__Type_Ointernal__split_res, fact_419_refTE, help_fFalse_1_1_T, fact_464_binop_Osimps_I8_J, fact_465_binop_Osimps_I7_J, fact_322_CastRedsAddr, fact_52_map__add__dom__app__simps_I1_J, fact_51_conf__upd__obj, fact_376_CastRedsNull, fact_174_rtrancl__trans, fact_93_domD, tsy_c_hBOOL_arg1, fact_386_conf__Null, fact_236_redp__redsp_ORedFAcc, fact_151_SeqReds, fact_448_red__reds_OBinOpRed2, fact_438_exp_Osimps_I4_J, fact_423_exp_Osimps_I47_J, fact_473_val_Osimps_I21_J, fact_384_val_Osimps_I5_J, fact_82_map__add__upd, fact_241_val_Osimps_I11_J, fact_444_redp__redsp_OBinOpRed2, fact_119_exp_Osimps_I145_J, fact_251_exp_Osimps_I210_J, fact_288_FAssRedsThrow2, tsy_v_T_H_____res, fact_50_conf__hext, fact_332_exp_Osimps_I51_J, fact_23_fun__upd__same, fact_68_red__reds_ORedBlock, help_COMBB_1_1_U, fact_307_exp_Osimps_I205_J, tsy_v_v_H_____res, fact_207_extend__1__eval, fact_296_redp__redsp_OTryRed, fact_212_LAss, fact_258_exp_Osimps_I167_J, tsy_c_WellForm_Owf__prog_res, tsy_c_Value_Oval_ONull_res, fact_250_exp_Osimps_I150_J, fact_319_TryCatch, fact_257_exp_Osimps_I203_J, fact_154_SeqReds2, fact_9_prod__cases6, fact_387_val_Osimps_I17_J, fact_220_exp_Osimps_I161_J, fact_117_exp_Osimps_I83_J, fact_289_red__reds_OBlockThrow, tsy_c_Value_Oval_OAddr_res, tsy_v_e_Ha_____res, fact_85_WTrtBlock, fact_188_small__by__big, fact_471_val_Osimps_I6_J, fact_421_BinOpRedsThrow2, tsy_c_Expr_Oexp_OSeq_res, fact_211_FAss, fact_167_oconf__fupd, tsy_c_hAPP_arg2, fact_343_redp__redsp_OCastRed, fact_315_TryReds, fact_54_map__add__dom__app__simps_I3_J, fact_49_splitI, fact_498_exp_Osimps_I223_J, fact_107_exp_Osimps_I143_J, help_fconj_2_1_U, fact_385_conf__NT, fact_80_curryE, fact_233_eval__cases_I2_J, fact_390_CastNull, fact_364_r__into__rtranclp, fact_225_exp_Osimps_I154_J, tsy_c_COMBB_res, tsy_c_fNot_res, tsy_c_Fun_Ofun__upd_res, fact_495_exp_Osimps_I89_J, fact_201_exp_Osimps_I172_J, fact_490_exp_Osimps_I201_J, fact_235_eval__finalId, fact_62_red__reds_ORedInitBlock, fact_442_exp_Osimps_I115_J, fact_60_curry__split, fact_285_SeqRedsThrow, fact_64_splitD, fact_360_Class__widen, fact_222_exp_Osimps_I160_J, tsy_c_TypeRel_Osubcls1p_res, fact_147_redp__redsp_ORedBlock, fact_366_converse__rtranclp__into__rtranclp, fact_497_exp_Osimps_I222_J, fact_353_CastRedsThrow, fact_371_redp__redsp_ORedTryFail, fact_475_binop_Osimps_I1_J, fact_255_exp_Osimps_I180_J, tsy_c_Expr_Oexp_OWhile_res, fact_428_exp_Osimps_I97_J, fact_333_exp_Osimps_I55_J, fact_44_option_Oinject, fact_13_prod__cases4, fact_377_widen__Class, tsy_c_Value_Oval_OUnit_res, tsy_c_HOL_Oundefined_res, tsy_c_Product__Type_Oprod_Oprod__rec_res, fact_129_hextI, fact_398_ThrowNull, fact_132_option_Osimps_I2_J, fact_113_exp_Osimps_I74_J, fact_254_exp_Osimps_I181_J, fact_209_redp__redsp_ORedFAss, fact_8_prod__induct6, fact_4_map__upd__Some__unfold, fact_427_exp_Osimps_I107_J, fact_26_widen__refl, fact_275_final__def, fact_365_rtranclp__idemp, fact_301_exp_Osimps_I152_J, fact_150_map__add__Some__iff, tsy_c_Objects_Ohext_res, fact_114_exp_Osimps_I85_J, fact_479_WhileCondThrow, fact_193_exp_Osimps_I8_J, fact_186_converse__rtrancl__induct, tsy_v_la_____res, help_fequal_1_1_T, tsy_c_SmallStep_Oredp_res, fact_280_red__reds_OFAssThrow1, fact_457_redp__redsp_ORedBinOp, fact_145_redp__redsp_ORedSeq, fact_470_val_Osimps_I1_J, fact_97_hext__upd__obj, fact_344_eval__evals_OCastThrow, help_ti_idem, fact_272_eval__evals_OFAssThrow2, fact_116_exp_Osimps_I82_J, fact_467_binop_Osimps_I9_J, fact_106__092_060D_062___092_060D_062s_Osimps_I6_J, fact_108_exp_Osimps_I3_J, fact_486_exp_Osimps_I209_J, fact_191_red__reds_ORedFAss, tsy_c_fequal_res, fact_379_ty_Osimps_I21_J, fact_295_exp_Osimps_I225_J, fact_43_red__preserves__defass, fact_40_sconf__def, fact_435_exp_Osimps_I98_J, fact_321_red__reds_ORedTryCatch, fact_76_mem__def, fact_6_map__upd__eqD1, fact_310_Try, fact_81_curryD, fact_15_Pair__inject, fact_274_val_Osimps_I3_J, fact_183_wf__prog__wwf__prog, fact_163_InitBlockRedsFinal, tsy_c_Conform_Oconf_res, tsy_v_P_res, tsy_c_TypeRel_Ohas__field_res, fact_440_exp_Osimps_I70_J, fact_408_FAssRedsNull, fact_271_Throw, tsy_v_ea_____res, fact_399_redp__redsp_ORedThrowNull, fact_221_exp_Osimps_I136_J, fact_110_exp_Osimps_I6_J, fact_363_rtranclp_Ortrancl__refl, tsy_c_Expr_Oexp_OCast_res, fact_230_FAccReds, fact_42_curry__def, fact_11_prod__cases5, fact_460_binop_Osimps_I3_J, fact_190_FAssRedsVal, fact_402_redp__redsp_ORedFAssNull, fact_422_exp_Osimps_I46_J, fact_175_rtrancl_Ortrancl__into__rtrancl, fact_294_exp_Osimps_I224_J, fact_70_red__reds_OInitBlockRed, help_COMBK_1_1_U, fact_181_option_Oexhaust, fact_451_red__reds_OBinOpThrow2, fact_206_FAssReds1, fact_370_redp__redsp_ORedCast, tsy_c_Exceptions_OClassCast_res, fact_31_red__preserves__sconf, tsy_c_Expr_Oexp_Othrow_res, fact_400_FAssNull, fact_414_sees__field__idemp, fact_102_mem__splitI2, fact_115_exp_Osimps_I75_J, fact_312_has__field__mono, fact_469_val_Osimps_I13_J, fact_367_rtranclp_Ortrancl__into__rtrancl, fact_217_redp__redsp_OFAccRed, fact_375_ty_Oinject, fact_179_rtrancl__induct2, fact_109_exp_Osimps_I11_J, fact_137_redp__redsp_OSeqRed, fact_331_exp_Osimps_I50_J, tsy_c_Exceptions_Oaddr__of__sys__xcpt_res, tsy_c_Expr_Oexp_OFAcc_res, fact_403_redp__redsp_ORedFAccNull, fact_404_red__reds_ORedThrowNull, fact_228__092_060D_062___092_060D_062s_Osimps_I7_J, fact_409_eval__cases_I12_J, fact_345_redp__redsp_OCastThrow, fact_98_hext__trans, fact_34_prod_Oexhaust, fact_5_map__upd__triv, help_COMBC_1_1_U, fact_499_bop_Oexhaust, fact_329_exp_Osimps_I61_J, fact_265_redp__redsp_OSeqThrow, fact_185_rtrancl__induct, fact_378_widen__null, fact_94_splitE2, fact_449_red__reds_OBinOpThrow1, fact_168_r__into__rtrancl, fact_133_option_Osimps_I3_J, help_fequal_2_1_T, fact_200_exp_Osimps_I175_J, fact_328_exp_Osimps_I68_J, fact_368_rtranclp__trans, fact_57_map__add__assoc, fact_298_exp_Osimps_I93_J, fact_478_exp_Osimps_I110_J, fact_354_Cast, fact_208_FAssReds2, fact_476_WhileFReds, fact_480_exp_Osimps_I64_J, fact_224_exp_Osimps_I155_J, fact_401_FAccNull, tsy_c_Expr_Obop_OEq_res, fact_327_exp_Osimps_I69_J, fact_229_red__reds_OFAccRed, fact_426_exp_Osimps_I112_J, fact_197_exp_Osimps_I139_J, fact_24_fun__upd__upd, fact_189_big__iff__small, fact_55_map__add__dom__app__simps_I2_J, fact_380_ty_Osimps_I20_J, fact_192_big__by__small, fact_195_exp_Osimps_I78_J, fact_406_red__reds_ORedFAssNull, fact_487_exp_Osimps_I149_J, fact_28_red__preserves__lconf, fact_231_FAcc, fact_69_domI, fact_61_split__part, fact_304_exp_Osimps_I183_J, fact_223_exp_Osimps_I137_J, fact_124_hconf__upd__obj, help_fconj_1_1_U, fact_278_red__reds_OLAssThrow, fact_323_red__reds_ORedCast, fact_140_redp__redsp_OBlockRedNone, tsy_c_TypeRel_Osees__field_res, fact_292_eval__cases_I9_J, fact_63_conf__widen, fact_252_exp_Osimps_I151_J, tsy_c_Option_Othe_res, tsy_c_Exceptions_ONullPointer_res, fact_269_red__reds_OThrowThrow, fact_21_fun__upd__twist, fact_299_exp_Osimps_I15_J, fact_281_red__reds_OFAccThrow, fact_351_widen__subcls, fact_32_prod_Orecs, tsy_c_Type_Oty_ONT_res, fact_169_the_Osimps, fact_1_InitBlockRed_I1_J, fact_263_eval__evals_OFAssThrow1, fact_262_eval__evals_OSeqThrow, fact_78_red__reds_OLAssRed, fact_356_final__addrE, fact_305_exp_Osimps_I182_J, fact_199_exp_Osimps_I138_J, fact_395_widen_Osimps, tsy_c_WWellForm_Owwf__J__mdecl_res, fact_136_redp__redsp_OLAssRed, fact_474_val_Osimps_I20_J, fact_267_redp__redsp_OFAssThrow1, fact_218_exp_Osimps_I77_J, fact_455_BinOpRedsVal, fact_415_sees__field__fun, fact_96_splitD_H, fact_29_prod__cases3, fact_73_map__add__find__right, fact_369_rtranclp__rtrancl__eq, fact_270_red__reds_OThrowRed, help_fFalse_1_1_U, tsy_c_Expr_Obop_OAdd_res, fact_77_Collect__def, fact_118__092_060D_062___092_060D_062s_Osimps_I3_J, fact_494_exp_Osimps_I13_J, fact_155_redp__red__eq, fact_273_redp__redsp_OFAssThrow2, fact_336_exp_Osimps_I59_J, fact_313_red__reds_OTryRed, fact_39_internal__split__conv, tsy_c_TypeRel_Osubcls1_res, fact_253_exp_Osimps_I211_J, fact_491_exp_Osimps_I200_J, fact_134_not__Some__eq, fact_352_WTrtFAss, fact_374_ty_Osimps_I9_J, fact_37_widen__trans, fact_293_TryCatchRedsFinal, fact_248_exp_Osimps_I90_J, fact_38_InitBlockRed_I5_J, fact_203_redp__redsp_OFAssRed2, fact_48_prod__caseI, fact_358_CastFail, fact_276_ThrowReds, fact_41_red__hext__incr, fact_180_progress, fact_89_lconf__def, tsy_c_State_Ohp_res, fact_488_exp_Osimps_I178_J, fact_466_binop_Osimps_I5_J, fact_496_exp_Osimps_I88_J, fact_361_redp__redsp_ORedTryCatch, fact_256_exp_Osimps_I202_J, tsy_c_Transitive__Closure_Ortranclp_res, fact_58_split__twice, fact_316_TryThrow, fact_484_exp_Osimps_I208_J, tsy_v_ha_____res, fact_86_splitE, fact_447_redp__redsp_OBinOpThrow2, fact_430_exp_Osimps_I96_J, fact_382_ty_Osimps_I7_J, fact_95_mem__splitI, fact_416_has__visible__field, fact_75_ext, fact_283_red__reds_OFAssThrow2, tsy_c_BigStep_Ofinal_res, fact_215_eval__hext, fact_165_rtrancl_Ortrancl__refl, fact_463_binop_Osimps_I4_J, fact_397_FAccRedsNull, fact_126_red__reds_OBlockRedSome, fact_138_dom__def, fact_420_WTrtCast, fact_260__092_060D_062___092_060D_062s_Osimps_I14_J, tsy_c_Option_Ooption_OSome_res, fact_123_exp_Osimps_I196_J, fact_246_redp__redsp_OThrowThrow, fact_410_non__npD, tsy_c_Product__Type_Oprod_Oprod__case_res, tsy_v_T_____res, fact_388_val_Osimps_I16_J, fact_338_exp_Osimps_I52_J, fact_335_exp_Osimps_I58_J, tsy_c_Expr_Oexp_OTryCatch_res, fact_56_internal__split__def, fact_238_Seq, fact_341_exp_Osimps_I44_J, fact_91_hext__refl, fact_74_split__eta, fact_122_exp_Osimps_I142_J, fact_348_red__reds_OCastThrow, fact_456_BinOp, fact_79_red__reds_OSeqRed, fact_302_exp_Osimps_I213_J, fact_67_map__add__upd__left, fact_350_Class__widen__Class, fact_308_exp_Osimps_I169_J, fact_492_exp_Osimps_I164_J, fact_279_red__reds_OSeqThrow, fact_318_red__reds_ORedTryFail, fact_418_WTrt__elim__cases_I4_J, fact_198_exp_Osimps_I174_J, fact_483_exp_Osimps_I220_J, tsy_c_Expr_Obinop_res, fact_173_hconf__new, fact_92_cond__split__eta, fact_454_WTrt__elim__cases_I6_J, fact_445_red__reds_OBinOpRed1, fact_101_hext__def, fact_372_redp__redsp_ORedCastFail, fact_166_BlockRedsFinal, tsy_c_Conform_Olconf_res, fact_45_curryI, fact_162_InitBlockReds, fact_436_exp_Osimps_I99_J, fact_291_finalE, fact_461_binop_Osimps_I10_J, tsy_v_l_Ha_____res, tsy_c_Value_Oval_OBool_res, fact_144_empty__map__add, fact_407_red__reds_ORedFAccNull, fact_14_InitBlockRed_I4_J, tsy_c_fTrue_res
% 91.00/65.94  % No. of inferences in proof: 1212
% 91.00/65.94  % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p : 65420 ms resp. 64126 ms w/o parsing
% 98.08/68.88  % SZS output start Refutation for /export/starexec/sandbox2/benchmark/theBenchmark.p
% See solution above
% 98.08/68.90  % [INFO] 	 Killing All external provers ... 
%------------------------------------------------------------------------------